打印
[技术问答]

C语言的命名约定

[复制链接]
188|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
AdaMaYun|  楼主 | 2024-3-12 08:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式



C 语言不支持命名空间。如果你想编写一个公共库,或者想命名某个“模块”,则需要给所有公共 API 的名称加上一个前缀。这些名称包括:

函数

类型

枚举值



另外,每个枚举也应该加上不同的前缀,这样才能分辨某个值属于哪种枚举类型:

enum color {
COLOR_RED,
COLOR_BLUE,
...
}

关于命名,并没有太多真正的约定,你可以随意选择蛇形命名法(snake_case)或驼峰式命名法(camelCase),但请记住保持一致!由于许多标准 C 类型都采用了 ptrdiff_t、int32_t  等形式,所以有人将类型命名为 my_type_t。

static
函数或文件级别的 static(静态)变量仅限文件内部访问。这些函数或变量不会作为符号导出,因此无法在其他源文件中使用。

static 也可以用在局部变量上,可以让变量在多次函数调用之间保持值不变。你可以将其视为一个仅限于该函数使用的全局变量。你可以利用 static 计算和存储数据,以供后续调用重用。但请记住,这种使用方法与全局状态或共享状态有同样的问题,例如线程安全、递归冲突等。

使用特权

评论回复
沙发
sesefadou| | 2024-4-3 14:45 | 只看该作者
C语言的命名约定是一种编程风格,用于指导程序员如何为变量、函数和其他标识符命名。

使用特权

评论回复
板凳
bestwell| | 2024-4-3 19:53 | 只看该作者
命名应尽量简洁且能准确表达其含义,避免过长或过于复杂的名称。

使用特权

评论回复
地板
kkzz| | 2024-4-4 10:29 | 只看该作者
变量名可以包含字母、数字和下划线,但不能以数字开头。变量名区分大小写,应避免使用C语言的保留字作为标识符。对于全局变量,通常会在变量名前添加特定的指示符作为前缀,以表明变量的用途或所属的文件。例如,如果变量是某个源代码文件的公共对象,则可以使用该文件名作为前缀。

使用特权

评论回复
5
lihuami| | 2024-4-4 13:12 | 只看该作者
结构体(struct)和联合体(union)的名称通常以大写字母开头,如MyStruct、DataUnion等。

使用特权

评论回复
6
juliestephen| | 2024-4-4 17:38 | 只看该作者
函数名同样由字母、数字和下划线构成,并尽量使用简短明了的名称,通常由单个动词和单个名词组成。面向对象的函数名应包含动词,后跟下划线和对象名。布尔型函数通常以"is"或"is_"为前缀。

使用特权

评论回复
7
loutin| | 2024-4-4 22:18 | 只看该作者
常量通常使用大写字母和下划线组成,例如MAX_VALUE、PI等。这样做的目的是为了区分常量和变量,因为常量的值在程序运行过程中是不会改变的。

使用特权

评论回复
8
pixhw| | 2024-4-6 14:28 | 只看该作者
避免使用保留字或关键字作为宏定义名。

使用特权

评论回复
9
janewood| | 2024-4-6 21:16 | 只看该作者
常量名通常由下划线和字母构成,大写字母和数字组合用于整型、字符型和浮点型常量名,并以"_k"为后缀。

宏名:宏名建议使用全大写字母,以便于识别。

使用特权

评论回复
10
10299823| | 2024-4-7 18:47 | 只看该作者
结构体和联合体的成员变量通常使用小写字母开头,单词之间使用下划线分隔

使用特权

评论回复
11
hudi008| | 2024-4-8 17:07 | 只看该作者
在整个项目中保持命名风格的一致性是非常重要的,这有助于提高代码的可读性和可维护性。

使用特权

评论回复
12
everyrobin| | 2024-4-9 11:46 | 只看该作者
应以字母或下划线开头,后面可以跟字母、数字或下划线。
大小写敏感,习惯上变量和函数名使用小写字母,类型名称使用大写字母。
应具有描述性,长度适中,不宜过短或过长。

使用特权

评论回复
13
星辰大海不退缩| | 2024-4-17 19:16 | 只看该作者
许多标准 C 类型都采用了 ptrdiff_t、int32_t  等形式,所以有人将类型命名为 my_type_t

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

177

主题

1274

帖子

3

粉丝