C语言 - 第二章第二节——标识符的命名规则

C语言 - 第二章第二节——标识符的命名规则

亓翎_Re-TikaRa Lv4

一、什么是标识符

说到标识符,一般来说,能大概理解,但是不知道实质。但是,当我们将标识符换种说法——名称,应该就会好理解一点。名称可以用来干什么,名称可以给一个东西进行标记,比如箱子,瓶子这种。而标识符,就是用来标识变量、符号常量、函数、数组、类型、标号以及一些具有专门含义的有效字符序列。


二、标识符的分类

1. 关键字

数据类型关键字 - 12个

名称 作用
char 声明字符型变量(通常占1字节)。
short 声明短整型变量(通常占2字节)。
int 声明基本整型变量(通常占4字节)。
long 声明长整型变量(通常占4或8字节,取决于系统)。
float 声明单精度浮点型变量(占4字节)。
double 声明双精度浮点型变量(占8字节)。
signed 声明有符号类型变量(默认整型为signed)。
unsigned 声明无符号类型变量(只能存储非负数)。
struct 定义结构体(struct)类型。
union 定义共用体(union)类型,同一内存区域存储不同成员。
enum 定义枚举类型(enum),用符号名表示整数值。
void 表示“无类型”,用于函数无返回值、无参数或空指针。

控制语句关键字 - 12个

名称 作用
if 条件判断语句,执行分支代码(与else配合使用)。
else if配合,表示条件不满足时的分支。
switch 多路分支语句,根据表达式值选择执行不同case
case switch语句中的分支标签,匹配值后执行代码。
default switch语句中的默认分支(当无匹配case时执行)。
for 循环语句,通过初始化、条件和迭代表达式控制循环。
while 循环语句,重复执行代码块直到条件不满足。
do...while 循环语句,先执行代码块再检查条件(至少执行一次)。
break 跳出当前循环或switch语句。
continue 跳过当前循环迭代,直接进入下一轮循环。
goto 无条件跳转到程序中带标签的语句(不推荐频繁使用)。
return 从函数中返回,并可携带返回值(若函数类型非void)。

存储类型关键字 - 4个

名称 作用
auto 声明自动变量(默认类型,通常省略,存储在栈中,生命周期为作用域内)。
extern 声明变量或函数在其他文件中定义(用于引用外部定义的全局变量或函数)。
register 建议编译器将变量存入寄存器(提高访问速度,但现代编译器较少依赖此关键字)。
static 声明静态变量:局部静态变量保留值,全局静态变量仅在本文件可见。

其它关键字 - 4个

名称 作用
const 声明常量,值不可修改(如const int MAX = 10;)。
sizeof 计算数据类型或变量的内存占用字节数(如sizeof(int)sizeof(var))。
typedef 为类型定义别名(如typedef long long LL;)。
volatile 声明变量可能被外部隐含修改(禁用编译器优化,如硬件寄存器或中断变量)。

2. 预定义标识符

  一般指C语言提供的库函数名和编译预处理命令。比如常用的 printf 等等,这些名称是固定的用途,不可以在用来干别的。

3. 用户标识符

  在编程时,需要用户给一些变量、函数、数组等命名,这类由用户根据需要自定义的标识符称为用户标识符。


三、命名标识符的规范

1. 组成

  • 只能由字母、数字、下划线组成,并且第一个字符必须是字母或者下划线
  • 大小写十分敏感,Sum,SUM,sum 是三个变量!
  • 不能使用之前提到的关键字

2. 长度

  虽然我们现在的 VSC 理论上变量长度可以达到 1 K 字符以上,但是为了兼容旧平台等,所以建议不要超过 31 个字符。

3. 命名原则

  • 一般要求是见到变量名字就要知道这个变量是干什么的
  • 不要用容易混淆的字符,比如网上很火的大写 I 和小写 l 之类的那种奇怪的东西
  • 标题: C语言 - 第二章第二节——标识符的命名规则
  • 作者: 亓翎_Re-TikaRa
  • 创建于 : 2025-04-16 16:22:43
  • 更新于 : 2025-04-16 16:25:48
  • 链接: https://re-tikara.fun/posts/732dc086/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。