c语言中关键字有哪些:标准版本划分
c语言中关键字有哪些,C89标准定义32个关键字,C99新增5个、C11新增1个,共计38个关键字,关键字是编译器预先保留的专用单词,不能用作变量名、函数名,你写代码时命名标识符必须避开这些词汇,考试刷题、编写C代码都要遵循这套词汇表,该词汇表仅适用于标准C语言,C++、嵌入式厂商扩展C会额外增加自定义关键字,不能直接套用。
c语言中关键字的版本分类
C89是国内计算机二级C语言考试指定参考版本,一共32个关键字,也是绝大多数入门教材的基础词汇范围,这些关键字覆盖变量类型定义、循环分支、存储属性、类型转换等基础语法。
- 类型关键字:char,short,int,long,float,double,signed,unsigned,void,struct,union,enum,typedef
- 流程控制关键字:if,else,for,while,do,switch,case,default,break,continue,goto,return
- 存储与限定关键字:auto,static,extern,register,const,volatile
- 其他关键字:sizeof
C99标准在C89基础上增加5个关键字,分别是inline、restrict、_Bool、_Complex、_Imaginary,多用于高性能开发、指针优化和复数运算,普通入门代码很少用到。
C11标准新增1个关键字_Generic,支持泛型选择,能够根据参数类型自动匹配对应表达式,多用于底层库开发,日常小程序编写基本不会接触。
关键字区分大小写。
C语言关键字全部为小写,只要你写大写单词如INT、CONST,就不属于关键字,可以正常当作标识符使用,很多新手会混淆大小写规则,把大写类型名当成保留词,进而出现不必要的命名限制。
c语言中关键字使用规则对比
| 版本 | 关键字数量 | 适用场景 | 学习优先级 |
|---|---|---|---|
| C89 | 32 | 计算机二级、入门练习 | 高 |
| C99 | 5个新增 | 嵌入式、高性能代码 | 中 |
| C11 | 1个新增 | 底层库、泛型编程 | 低 |
你在代码中定义变量时,哪怕单词拼写和关键字一致,只要改变大小写就合法,但开发团队一般不推荐这种写法,容易造成阅读混淆,降低代码可读性。嵌入式编译器常会扩展额外关键字,比如__attribute__,这类属于厂商扩展词,不属于C语言标准关键字,更换编译器后代码大概率无法正常编译。
判断一个单词是不是C标准关键字,最直接的办法是查看编译器的语法报错,当你用这个单词定义变量,编译器报重复定义或者语法错误,就代表它属于保留关键字,普通文本编辑器无法完成这项校验,必须借助C语言编译工具。
该词汇表不适用于C++语言,C++在C基础上额外扩充大量关键字,如果你准备C++考试,不能直接使用C语言关键字清单背诵。
