[C.C++] C 关键字(C89,C99,C11)

1038 0
Honkers 2025-4-24 20:47:20 | 显示全部楼层 |阅读模式



C关键字一共有44个。

1、C89关键字(32个)

序号关键字说明
1auto声明自动变量
auto变量存放在动态存储区,随着生命周期 {开始}结束而立即释放,存放在栈上
默认变量都是auto的,基本都是不写的
2break跳出当前循环
3caseswitch语句分支
4char声明字符型变量 或函数
5const声明只读变量
6continue结束本次循环,继续执行下一次循环
7defaultswitch语句中的默认分支
8dodo循环,先执行循环体,后再执行条件判断。
do-while循环可以减少一次条件判断,性能更好,代码更长。
9double声明双精度浮点型变量 或函数
10else条件语句否定分支(与if连用)
11enum声明枚举类型
12extern声明变量或函数是在其它文件或本文件的其他位置定义
13float声明浮点型变量或函数
14forfor循环
15goto无条件跳转语句
16ifif分支语句
17int声明整型变量或函数
18long声明长整型变量或函数
19register声明寄存器变量。
只能修饰整形变量,表示希望这个变量存放在CPU的寄存器上。
现代编译器在开启优化的时候,能够一定程度上默认启用register寄存器变量。
寄存器变量不能取地址。
20return函数返回语句(可以带参数,也可不带参数)
21short声明短整型变量 或函数
22signed声明有符号类型变量 或函数
23sizeof计算变量或类型的字节大小
24static声明静态变量。
表示变量存在于静态区,基本就是全局区,生存周期同系统生存周期。
25struct定义结构体。
用法广泛,很重要。
C的重要思路就是面向过程编程,撑起面向过程的关键就是结构体。
26switch多分支选择语句
27typedef类型重定义。
重新定义新的类型。
28unsigned声明无符号 类型变量 或函数
29union定义共用体。
常在特殊 库函数 封装中用到,技巧性强。
30void(1)声明函数 无返回值 或无参数
(2)声明无类型指针
31volatile说明变量在程序执行中可能被隐含地改变
优化器在用到这个变量时必须重新读取这个变量的值,而不是保存在寄存器里的备份。
32whilewhile循环语句

2、C99新增关键字(5个)

序号关键字说明
1_Bool布尔值类型。
等价于unsigned char,只有0和1
2_Complex复数类型
3_Imaginary虚数类型。
无法在代码中表示,系统保留,我们不能使用
4inline内联函数。
从C++中引入的概念,就是将小函数直接嵌入到代码中 。
C的代码损耗在于函数的进出栈,要是可以,推荐用内联函数替代宏,宏能不用就不用。
5restrict只用于限定指针。
用于编译器优化,告知编译器,所有修改该指针所指向内容的操作全部都是基于该指针的,即不存在其它进行修改操作的途径。
这样是帮助编译器进行更好的代码优化,生成更有效率的汇编代码。

3、C11新增关键字(7个)

序号关键字说明
1_Alignas内存对齐的操作符。
需要和_Alignof配合使用,指定结构的对齐方式
2_Alignof得到类型和变量的对齐方式
3_Atomic原子操作,原子锁
4_Generic泛函机制,高级函数宏
5_Noreturn修饰函数,绝对不会有返回值
6_Static_assert编译器期间断言
7_Thread_local存储类修饰符, 限定了变量不能在多线程之间共享
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

中国红客联盟公众号

联系站长QQ:5520533

admin@chnhonker.com
Copyright © 2001-2026 Discuz Team. Powered by Discuz! X3.5 ( 粤ICP备13060014号 )|天天打卡 本站已运行