C语言关键字和保留标识符

C语言关键字和保留标识符

关键字

 关键字是C语言的词汇。它们对于C语言比较特殊,不能用他们作为标识符(如,变量名)。许多关键字用于指定不同的类型。如int。还有一些(如if)语句用于控制程序中语句的执行顺序。下表列出了所有的C语言关键字,包括C11标准中出现的。

关键字标准描述
autoK&R C表明有意覆盖一个外部变量定义或者强调不要把该变量改为其他存储类别
externK&R C显式声明一个定义与其他文件中的外部变量
shortK&R C声明短整型数据
whileK&R C程序循环
breakK&R C跳出循环语句
floatK&R C声明单精度的浮点数
signedC90声明带符号的数据类型
_AlignasC11用于指明内存对齐相关
_AlignofC11指明内存对齐相关
sizeofK&R C返回指向的数据对象或类型所占空间的大小,以字节(byte)为单位
forK&R C程序循环
caseK&R C分支语句
charK&R C声明单字符型变量
gotoK&R C程序跳转到指定的位置
staticK&R C声明具有静态存储期的数据
_AtomicC11并发编程时声明一个原子类型的对象
constC90声明一个不能通过赋值,递增或递减来修改的对象
ifK&R C条件语句
structK&R C声明结构体变量
_BoolC11声明布尔类型变量
continueK&R C跳出当前循环,开始下一次循环
inlineC99声明内联类型
switchK&R C分支语句
_ComplexC11声明复数类型
defaultK&R C分支语句
intK&R C声明整形变量
typedefK&R C为对象创建别名
_GenericC11实现泛型选择
doK&R C循环语句
longK&R C声明长整型
unionK&R C声明联合体变量
_ImaginaryC11声明虚数对象
doubleK&R C声明双精度浮点数
registerK&R C声明寄存器类型的变量
unsignedK&R C声明无符号类型变量
_NoreturnC11设置调用函数后不返回
elseK&R C条件语句
restrictK&R C用于编译器优化,只能用于指针,表明指针是访问数据对象唯一的方式
voidK&R C声明无类型的变量
_Static_assertC11声明编译时检查的断言
enumC90声明枚举类型
returnK&R C函数返回
volitileC90用于编译器优化,告知计算机,代理(不是变量坐所在的程序)可以改变该变量的值
_Thread_localC11声明属于创建线程私有的线程局部数据变量

 将所有关键字分一下类大概可以分为如下几类

  • 声明数据类型,包括void,int, short,float,signed,unsigned,char,struct,union,_Bool,_Complex,long,_Imaginary,double,enum。
  • 存储类别说明符,包括auto,register,static,extern,Thread_local,typedef。
  • 程序控制,包括while,do,break,case,for,goto,if,continue,switch,default,_Noreturn,return,else。
  • 类型限定,包括const,volatile,restrict,_Atomic。
  • 其他,包括_Alignas,_Alignof,sizeof,_Generic,_Static_assert。

保留标识符

 如果使用关键字不当,如用关键字作为变量名,编译器会将其视为语法错误。还有一些保留标识符。C语言已经指定了它们的用途或保留它们的使用权,如果你使用这些标识符来表示其它意思会导致一些问题。因此,尽管他们也是有效的名称,不会引起语法错误,也不能随意使用。保留标识符包括那些以下划线字符开头的标识符和标准库函数名,如printf()。

  • 2
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值