首页 > 编程语言 >C语言编程规范——命名规则

C语言编程规范——命名规则

时间:2024-05-03 15:55:06浏览次数:26  
标签:下划线 编程 C语言 首字母 命名 变量名 标识符 变量

一、C语言变量名的命名规则

1.只能以字母下划线开始

2.不能以数字开始

3.不能使用默认关键字

4.一般使用小写

在程序设计中,变量名、函数名、数组名等统称为标识 符。简单地说,标识符就是一个名字。除库函数的函数名由系统定义外,其余都由用户自定义。C语言规定,标识符只能由字母(a~z,A~Z)、数字 (0~9)、下划线(_)组成,并且标识符的第一个字符必须是字母或下划线,不能以数字开头。C语言不限制标识符的长度,但它受各种C语言编译器的限制, 同时也受到具体机器的限制。例如,在某编译器中规定标识符前8位有效,当两个标识符前8位相同时,则被认为是同一个标识符。建议变量名的长度最好不要超过 8个字符

二、命名风格

序号 类型 描述
1 驼峰命名法 首字母小写,每个逻辑点使用大写字母来标记。一般用于全局变量、函数、结构体变量、对象名。示例myData
2 帕斯卡命名法 与驼峰命名法类似,只是 首字母大写一般用于结构名、类名。示例:MyData
3 下划线命名法 函数名中的每个逻辑断点都用下划线 _分割,C程序和UNIX这样的环境中,它的使用非常普遍一般用于函数、变量。示例:my_data
4 匈牙利命名法 变量名前面加上相应的小写字母的符号标识作为前缀,标识出变量的作用域、类型等。示例:i_MyData

驼峰命名法

程序员们为了自己的代码能更容易的在同行之间交流,所以才取统一的可读性比较好的命名方式。例如:有些程序员喜欢全部小写,有些程序员喜欢用下划线,所以如果要写一个my name的变量,他们常用的写法会有myname、my_name、MyName或者myName。这样的命名规则不适合所有程序员阅读,而利用驼峰命名法来表示,可以增加程序可读性。

驼峰命名法就是当变量名或函数名是由一个或多个单字连结在一起,而构成的唯一识别字时,第一个单字以小写字母开始,第二个单字的首字母大写;或每一个单字的首字母都采用大写字母,例如:myFirstName、myLastName,这样的变量名看上去就像骆驼峰一样此起彼伏,故而得名。

三、 宏 命名规则

命名全部大写,使用下划线 _连接。

#define 	SECONDS_PER_YEAR 	(60 * 60 * 24 * 365)UL

四、函数 命名规则

一般来说,函数名的每个单词首字母大写,没有下划线。
对于首字母缩写的单词,更倾向于将它们视作一个单词进行首字母大写。

序号 方式 描述
1 驼峰命名法 myFunctio()deleteUrl()
2 下划线命名法 my_function()
3 帕斯卡命名法 MyFunction()DeleteUrl()

五、变量 命名规则

函数参数、类成员、局部变量、结构体内变量

变量(包括函数参数) 和数据成员名一律小写,单词之间用下划线 _连接
类的成员变量以下划线结尾,但结构体的就不用。

序号 类别 举例
1 局部变量、函数参数 local_variable
2 结构体内的变量 struct_data_member
3 类的成员变量 class_data_member_

六、类型 命名规则

类,结构体,类型定义(typedef),枚举,类型模板参数

均使用相同约定,即以大写字母开始,每个单词首字母均大写,不包含下划线(帕斯卡命名法)

class BookCartoon {
	string 	title_;		
	string 	author_;		
};

struct BookCartoon {
	char 	title[40];		
	char 	author[40];		
};

typedef struct {
	char 	title[40];		
	char 	author[40];				
} BookCartoon;

enum ButtonState {
	SHORT_PRESS,	/* 短按 */
	LONG_PRESS,		/* 长按 */
};

typedef enum  {
	SHORT_PRESS,	/* 短按 */
	LONG_PRESS,		/* 长按 */
} ButtonState;

Linux环境下命名的注意点

(1)变量名必须有一定的意义,并且意义准确。例如 有一个变量用于保存图书的数目,可以命名为number_of_book或者num_of_book。不建议使用i,因为它没有意义。也不建议使用 number或book,因为意义不准确。

(2)不建议大小写混用。如定义一个计数变 量,int nCount;这在Windows中是一个很好的变量名,其中nCount的首字母n用来说明这个变量的类型是int。但在Linux下不建议大小写混合 使用,一般标识符只由小写字母,数字和下划线构成。

(3)在失去意义的情况下,尽量使用较短的变量名。 例如有一个变量,用于暂时存储一个计数值,把变量命名为tmp_count显然要比this_is_a_temperary_counter好。

(4)函数名应该以动词开头,因为函数是一组具有特 定功能的语句块。比如一个函数,它用于取得外部输入的数值,则可以命名为get_input_number。

标签:下划线,编程,C语言,首字母,命名,变量名,标识符,变量
From: https://www.cnblogs.com/banon/p/18171292

相关文章

  • 【c语言】编译过程详解
    为什么我们编写的C语言要进行编译❓什么是编译❓编译时发生了什么❓机器无法理解我们编写的C语言,而编译就是将面向人类的高级语言转换成为面向机器的机器语言的过程,图1是GCC编译器进行编译的过程,编译时主要分为了4个阶段,每个阶段的具体作用将在接下来进行介绍。图1......
  • C语言解析FLM(ELF)格式文件
    代码下载:https://gitee.com/jhembedded/flmparse 写这篇博客的目的是因为最近在做一个STM32的离线编程器,离线下载需要用到FLM文件的下载算法,所以实现了一下提取FLM文件中下载算法的C程序。有关ELF格式的详细说明可查看这个文件:http://flint.cs.yale.edu/cs422/doc/ELF_Format.......
  • Socket编程
    一、Socket是什么Socket本身不是一个协议,是一个套接字,操作系统为了方便大家直接使用tcp协议而存在的一个抽象层,它把复杂的TCP/IP协议隐藏在接口后面。二、Socket编程 三、socket编程实例socket通信实例一:程序结构:socket_server.py#socket服务端importsocketserver_......
  • C语言编程规范——注释
    一、注释简介一般情况下,源程序有效注释量必须在20%以上。注释的目的是解释代码的目的、功能和采用的方法,提供代码以外的信息,帮助读者理解代码,防止没必要的重复注释信息。二、注释类型1.单行注释将注释放在双斜杠//后面,从双斜杠到行尾都属于注释。#include<stdio.h>intmain......
  • Socket网络编程
    Socket编程为了实现两台不同的机器能够进行通信,所有要使用到网络编程IP地址与端口号IP地址:用于标识网络上主机的位置,每台网络上的设备都有唯一的ip地址。端口号:用于标识主机上的哪个应用程序,一台主机上运行的很多应用程序,该数据是传送给哪个应用程序使用的通过端口号标识。......
  • c语言实现vector及其相关函数(自存)
    #include<stdio.h>#include<stdlib.h>#definePREALLOC_MAX1024#defineDEFAULT_CAPACITY8typedefintE;typedefstruct{E*elements;//指向堆空间的数组intsize;//元素的个数intcapacity;//数组的容量}Vector;voidpush_back(Vect......
  • 04. C语言数据使用方式
    【C语言简介】计算机的运行由CPU指令控制,为了让计算机执行指定功能,需要将这些功能对应的指令数据集中存储在一起,制作为一个计算机文件,这个文件称为程序,CPU通过读取程序中的指令确定要执行的功能,制作程序时无需直接编写指令数据和数学数据,这些数据使用代码表示,从而方便记忆和编写,......
  • java命名规范
    1、java文件名规范a、一个文件中最多只能有一个public类且文件名必须和public类名一致b、文件中可以有多个类,若无public修饰的类,此文件名可以是任意名2、java类与成员命名规范a、类名规范-类名首字母必须大写,使用驼峰命名法b、类修饰符(写在类前边,只有两种)-public-defau......
  • AWS EC2 实例类型命名规则
    AWSEC2(ElasticComputeCloud)实例类型的命名规则反映了实例的性能特征、用途和硬件配置。这些实例类型的名称由几个组件构成,每个组件都提供了关于该实例类型特定方面的信息。理解这一命名规则可以帮助用户更好地选取适合其应用场景的实例类型。EC2实例类型命名结构格式:家族+......
  • C语言中四舍五入问题总结
    C语言中四舍五入问题的总结在C语言中大部分情况下都是不需要四舍五入的。除了一种情况:在使用输出函数printf()限制浮点型输出的小数位个数eg:printf("%0.2f",1.567);//输出的结果是1.57其他情况下都不需要四舍五入,比如自动转换在不同类型的混合运算中,编译器也会自动地转......