C语言中的关键字与标识符详解

1. 关键字(keyword)

定义:
关键字是C语言中预定义的一组特殊字符串,它们具有特定的含义和用途。在程序编译过程中,编译器会根据这些关键字执行相应的操作。

特点:
所有C语言的关键字均采用小写字母形式。

举例:
例如,在一个简单的"HelloWorld"案例中,我们可能会遇到intreturn等关键字。int用于声明整型变量,而return用于从函数返回值。

C语言传统关键字(ANSI C):

  • 控制语句关键字包括 break, case, continue, default, do, else, for, goto, if, return, switch, while
  • 数据类型关键字有 char, enum, double, long, float, int, short, signed, struct, unsigned, union, void
  • 存储类型关键字包括 auto, extern, register, static
  • 其他关键字包括 const, sizeof, typedef, volatile

随着标准的发展,C99增加了5个关键字:inline, restrict, _Bool, _Complex, _Imaginary;C11又新增了7个关键字:_Alignas, _Alignof, _Atomic, _Static_assert, _Noreturn, _Thread_local_Generic

说明:

  • ANSI C、C99和C11标准在大多数情况下可以兼容使用,无需过分关注版本差异。
  • 对于关键字的学习,建议结合实践逐步掌握,不必刻意死记硬背。

2. 标识符(Identifier)

定义:
在C语言中,标识符是指用户为变量、函数、数组名、结构体等编程要素所起的名字,它由一系列字符组成。

命名规则:

  • 标识符只能包含字母(大小写均可)、数字(但不能作为首字符)以及下划线。
  • 不得与C语言的关键字相同,尽管标识符内可包含关键字。
  • C99和C11允许更长的标识符,但编译器只识别前63个字符,超出部分会被忽略。
  • 标识符不允许包含空格。
  • C语言严格区分大小写,因此相同的单词但大小写不同会被视为不同的标识符。

命名建议:

  • 命名时应力求有意义,做到“见名知意”,如sumnamemaxyeartotal等。
  • 避免仅通过大小写来区分不同的标识符,以免混淆。
  • 尽量避免在标识符中使用数字编号,除非逻辑上确实需要编号。
  • 按照约定,常量(如宏定义、枚举常数、只读变量)通常用全大写字母命名,并使用下划线分隔单词,如TAX_RATE
  • 为了防止与系统内部使用的标识符冲突,建议避免使用以下划线开头的标识符,特别是双下划线或单下划线加大写字母开头的名称。
  • 下划线通常用于连接较长的变量名,提高可读性,如max_classes_per_student
  • 在多单词组成的变量名和函数名中,推荐采用驼峰命名法(小驼峰),即第一个单词首字母小写,后续每个单词首字母大写,如stuAgetankShotGame

合法与非法标识符示例:

// 合法的标识符
a, BOOK1, _sun, MAX_SIZE, Mouse, student23, Football, FOOTBALL, max, _add, num_1, sum_of_numbers

// 非法的标识符
$zj, 3sum, ab#cd, 23student, Foot-baii, s.com, b&c, j**p, book-1, tax rate, don't

你可能感兴趣的:(c,c语言)