C语言合法关键字有哪些?

99ANYc3cd6
预计阅读时长 8 分钟
位置: 首页 C语言 正文

以下是C语言中所有合法关键字的完整列表,并附有简要说明。

C语言关键字列表 (共37个)

数据类型关键字

这些关键字用于声明变量或函数的返回值类型。

关键字 描述
char 声明字符型变量或函数
double 声明双精度浮点型变量或函数
enum 声明枚举类型
float 声明单精度浮点型变量或函数
int 声明整型变量或函数
long 声声明长整型变量或函数
short 声明短整型变量或函数
signed 声明有符号类型数据
struct 声明结构体类型
union 声明共用体(联合)类型
unsigned 声明无符号类型数据
void 声明函数无返回值或无参数,声明无类型指针

存储类型关键字

这些关键字定义变量的存储方式和生命周期。

关键字 描述
auto 声明自动变量,默认的存储类型,通常省略
extern 声明变量是在其他文件中定义的全局变量
register 声明寄存器变量,建议编译器将变量存储在寄存器中
static 声明静态变量,作用域限定在文件或函数内部,生命周期贯穿整个程序

流程控制关键字

这些关键字用于控制程序的执行流程。

关键字 描述
break 跳出当前循环或switch语句
case switch语句中的分支标记
continue 结束本次循环,进入下一次循环
default switch语句中的默认分支
do do-while循环的起始关键字
else if语句的否定分支
for for循环的关键字
goto 无条件跳转到程序中的指定标签
if 条件判断语句
return 从函数中返回,并可以带回一个返回值
switch 多分支选择语句
while while循环或do-while循环的结束关键字

运算符相关关键字

这些关键字本身也是运算符,用于执行特定的操作。

关键字 描述
sizeof 计算数据类型或变量所占的内存空间(以字节为单位)
typedef 为数据类型定义一个新的名字(别名)

其他关键字

这些关键字具有特殊用途。

关键字 描述
const 声明常量,变量的值在程序运行过程中不能被修改
volatile 提示编译器该变量的值可能被外部因素(如硬件)改变,防止编译器过度优化
_Bool C99引入,布尔类型,值为truefalse
_Complex C99引入,复数类型关键字
_Imaginary C99引入,虚数类型关键字

重要说明

  1. 大小写敏感:C语言的关键字都是小写的。IntIFWHILE 不是关键字,而是合法的标识符(虽然强烈不建议这样做,因为它会造成混淆)。

  2. 标准差异

    • C89/ANSI C:标准关键字有 32 个,缺少了C99新增的_Bool, _Complex, _Imaginary
    • C99:在C89的基础上增加了 _Bool, _Complex, _Imaginary 三个关键字,总数变为 35 个。
    • C11:在C99的基础上增加了 _Alignas, _Alignof, _Atomic, _Generic, _Noreturn, _Static_assert, _Thread_local 这7个关键字,总数变为 42 个,但其中很多是以下划线开头,用于支持更高级的特性(如泛型选择、线程局部存储等)。
    • 嵌入式/特定编译器:像Keil C51这样的嵌入式C编译器,可能会扩展自己的关键字(如 data, xdata, code, sfr, sbit 等),这些是编译器特定的,不属于标准C语言。
  3. constsizeof 的特殊性

    • const 虽然常被称为“限定符”,但在语法上它的作用和关键字完全一样,用于修饰变量,使其成为只读常量。
    • sizeof 是一个运算符,但它看起来像一个函数调用,并且它的操作数在编译时大部分情况下就能确定,因此它也总是被列为关键字。

对于大多数现代C语言编程(遵循C99或C11标准),你需要记住上面列出的 37个核心关键字,了解并正确使用这些关键字是编写有效、无错误的C代码的基础。

-- 展开阅读全文 --
头像
贷款网站织梦模板源码安全可靠吗?
« 上一篇 03-30
Linux下C语言程序编写有哪些核心步骤?
下一篇 » 03-30

相关文章

取消
微信二维码
支付宝二维码

目录[+]