c语言指针c语言书写规范范

对具有10个元素的char类型数组从下標为6的元素开始全部设置‘#’号,保持前六个元素的内容不变... 对具有10个元素的char类型数组从下标为6的元素开始全部设置‘#’号,保持前六個元素的内容不变

你对这个回答的评价是

你对这个回答的评价是?


· 超过12用户采纳过TA的回答

你对这个回答的评价是

下载百度知道APP,抢鮮体验

使用百度知道APP立即抢鲜体验。你的手机镜头里或许有别人想知道的答案

C是一门朴素的语言你使用的命洺也应该这样。与Modula-2和Pascal程序员不同C程序员不使用诸如“ThisVariableIsATemporaryCounter”这样“聪明”的名字。C程序员应该叫它“tmp”这写起来更简单,也不会更难懂
嘫而,当面对复杂情况时就有些棘手给全局变量取一个描述性的名字是必要的。把一个全局函数叫做“foo”是一种目光短浅的行为全局函数也一样,如果你有一个统计当前用户个数的函数应当把它命名为“count_active_user()”或者简单点些的类似名称,不应该命名为“cntusr()”
3.1 三种流行的命洺法则

目前,业界共有四种命名法则:驼峰命名法、匈牙利命名法、帕斯卡命名法和下划线命名法其中前三种是较为流行的命名法。

(1)驼峰命令法正如它的名称所表示的那样,是指混合使用大小写字母来构成变量和函数的名字例如,下面是分别用骆驼式命名法和下划线法命名的同一个函数:

第一个函数名使用了驼峰命名法函数名中的每一个逻辑断点都有一个大写字母来标记。第二个函数名使用了下划線法函数名中的每一个逻辑断点都有一个下划线来标记。

驼峰命名法近年来越来越流行了在许多新的函数库和Microsoft Windows这样的环境中,它使用嘚当相多另一方面,下划线法是C出现后开始流行起来的在许多旧的程序和UNIX这样的环境中,它的使用非常普遍

(2)匈牙利命名法。广泛应鼡于象Microsoft Windows这样的环境中Windows 编程中用到的变量(还包括宏)的命名规则为匈牙利命名法,这种命名技术是由一位能干的 Microsoft 程序员查尔斯-西蒙尼(Charles Simonyi) 提出的

匈牙利命名法通过在变量名前面加上相应的小写字母的符号标识作为前缀,标识出变量的作用域、类型等这些符号可以多个同时使用,顺序是先m_(成员变量)、再指针、再简单数据类型、再其它这样做的好处在于能增加程序的可读性,便于对程序的理解和维护

例如:m_lpszStr, 表礻指向一个以0字符结尾的字符串的长指针成员变量。


匈牙利命名法关键是:标识符的名字以一个或者多个小写字母开头作为前缀;前缀之後的是首字母大写的一个单词或多个单词组合该单词要指明变量的用途。

(3)帕斯卡(pascal)命名法与驼峰命名法类似,二者的区别在于:驼峰命洺法是首字母小写而帕斯卡命名法是首字母大写,如:

(4)三种命名规则的小结:MyData就是一个帕斯卡命名的示例;myData是一个驼峰命名法,它第一个單词的第一个字母小写,后面的单词首字母大写,看起来像一个骆驼;iMyData是一个匈牙利命名法,它的小写的i说明了它的型态后面的和帕斯卡命名楿同,指示了该变量的用途


3.2 命名的基本原则

(1)标识符的命名要清晰、明了,有明确含义同时使用完整的单词或大家基本可以理解的缩写,避免使人产生误解——尽量采用采用英文单词或全部中文全拼表示若出现英文单词和中文混合定义时,使用连字符“_”将英文与中文割开较短的单词可通过去掉“元音”形成缩写;较长的单词可取单词的头几个字母形成缩写;一些单词有大家公认的缩写。例如:temp->tmp、flag->flg、statistic->stat、increment->inc、message->msg等缩写能够被大家基本认可

(2)命名中若使用特殊约定或缩写,则要有注释说明应该在源文件的开始之处,对文件中所使用的缩写或約定特别是特殊的缩写,进行必要的注释说明

(3)自己特有的命名风格,要自始至终保持一致不可来回变化。个人的命名风格在符合所在项目组或产品组的命名规则的前提下,才可使用(即命名规则中没有规定到的地方才可有个人命名风格)。

(4)对于变量命名禁止取单个芓符(如i 、j 、k... ),建议除了要有具体含义外还能表明其变量类型、数据类型等,但i 、j 、k 作局部循环变量是允许的变量,尤其是局部变量洳果用单个字符表示,很容易敲错(如i写成j)而编译时又检查不出来,有可能为了这个小小的错误而花费大量的查错时间

(5)除非必要,不要鼡数字或较奇怪的字符来定义标识符

(6)命名规范必须与所使用的系统风格保持一致,并在同一项目中统一

(7)在同一软件产品内,应规划好接口部分标识符(变量、结构、函数及常量)的命名防止编译、链接时产生冲突。对接口部分的标识符应该有更严格限制防止冲突。如可規定接口部分的变量与常量之前加上“模块”标识等

(8)用正确的反义词组命名具有互斥意义的变量或相反动作的函数等。

(9)除了编译开关/ 头攵件等特殊应用应避免使用_EXAMPLE_TEST_ 之类以下划线开始和结尾的定义。


3.3 变量名的命名规则

(1)变量的命名规则要求用“匈牙利法则”

(2)指针变量命名嘚基本原则为:


对一重指针变量的基本原则为:“p”+变量类型前缀+命名,如一个float*型应该表示为pfStat对二重指针变量的基本规则为:“pp”+变量類型前缀+命名。对三重指针变量的基本规则为:“ppp”+变量类型前缀+命名

(3)全局变量用g_开头,如一个全局的长型变量定义为g_lFailCount。即:变量名=g_+变量類型+变量的英文意思(或缩写)此规则还可避免局部变量和全局变量同名而引起的问题。

(4)静态变量用s_开头,如一个静态的指针变量定义为s_plPerv_Inst即: 变量名=s_+变量类型+变量的英文意思(或缩写)

(5)对枚举类型(enum)中的变量,要求用枚举变量或其缩写做前缀并且要求用大写。如:

(6)对struct、union变量的命名偠求定义的类型用大写并要加上前缀,其内部变量的命名规则与变量命名规则一致

结构一般用S开头,如:

联合体一般用U开头如:

(7)对常量(包括错误的编码)命名,要求常量名用大写常量名用英文表达其意思。当需要由多个单词表示时单词与单词之间必须采用连字符“_”連接。


3.4 函数的命名规范

(1)函数的命名应该尽量用英文(或英文缩写、中文全拼、中文全拼缩写)表达出函数完成的功能——函数名应准确描述函數的功能遵循动宾结构的命名法则,函数名中动词在前,并在命名前加入函数的前缀函数名的长度不得少于8个字母。函数名首字大写若包含有两个单词的每个单词首字母大写。如果是OOP 方法可以只有动词(名词是对象本身)。示例:

(2)避免使用无意义或含义不清的动词为函数命名如使用process、handle等为函数命名,因为这些动词并没有说明要具体做什么

(3)必须使用函数原型声明。函数原型声明包括:引用外来函数及内蔀函数外部引用必须在右侧注明函数来源: 模块名及文件名;内部函数,只要注释其定义文件名——和调用者在同一文件中(简单程序)时鈈需要注释


应确保每个函数声明中的参数的名称、类型和定义中的名称、类型一致。
3.5 函数参数命名规范

(1)参数名称的命名参照变量命名规范


(2)为了提高程序的运行效率,减少参数占用的堆栈传递大结构的参数,一律采用指针或引用方式传递
(3)为了便于其他程序员识别某个指针参数是入口参数还是出口参数,同时便于编译器检查错误应该在入口参数前加入const标志。
3.6 文件名(包括动态库、组件、控件、工程文件等)的命名规范

文件名的命名要求表达出文件的内容要求文件名的长度不得少于5个字母,严禁使用象file1,myfile之类的文件名

我要回帖

更多关于 c语言书写规范 的文章

 

随机推荐