大话C语言:第4篇 关键字

1 关键字概述

        C语言关键字是指被C语言编译器预定义并具有特殊含义的保留字。这些关键字在C语言中具有特殊的用途和语法意义,用于表示语言的各种结构、数据类型、控制流程和操作符等。C语言的关键字是有限的,每个关键字都有其特定的含义和用法。

        由于这些关键字在C语言中具有特殊含义,因此在编写代码时,不能将关键字用作普通标识符的名称,如变量名、函数名等。否则,编译器将无法正确解析和处理这些标识符。关键字在C语言中起到了关键的作用,它们定义了语言的基本语法和结构,使得我们能够编写出符合C语言规范的程序。

2 关键字列表

2.1 C99标准前关键字

关键字说明
auto声明自动变量
break跳出当前循环
case开关语句分支
char声明字符型变量或函数返回值类型
const定义常量,如果一个变量被 const 修饰,那么它的值就不能再被改变
continue结束当前循环,开始下一轮循环
default开关语句中的"其它"分支
do循环语句的循环体
double声明双精度浮点型变量或函数返回值类型
else条件语句否定分支(与 if 连用)
enum声明枚举类型
extern声明变量或函数是在其它文件或本文件的其他位置定义
float声明浮点型变量或函数返回值类型
for一种循环语句
goto无条件跳转语句
if条件语句
int声明整型变量或函数返回类型
long声明长整型变量或函数返回值类型
register声明寄存器变量
return子程序返回语句(可以带参数,也可不带参数)
short声明短整型变量或函数
signed声明有符号类型变量或函数
sizeof计算数据类型或变量长度(即所占字节数)
static声明静态变量
struct声明结构体类型
switch用于开关语句
typedef用以给数据类型取别名
unsigned声明无符号类型变量或函数
union声明共用体类型
void声明函数无返回值或无参数,声明无类型指针
volatile说明变量在程序执行中可被隐含地改变
while循环语句的循环条件

2.2 C99标准新增关键字

关键字说明
_Bool一种基本数据类型,用于表示布尔逻辑值,其值只有两种:0(假)或1(真)
_Complex一种数据类型,用于创建复数
_Imaginary一种数据类型,用于创建虚数
inline用于函数定义的修饰符,编译器会将该函数的调用处直接展开为对应的函数体内容,而不需要进行函数调用的过程
restrict一种类型限定符(Type Qualifiers),用于告诉编译器,对象已经被指针所引用,不能通过除该指针外所有其他直接或间接的方式修改该对象的内容

2.3 C11标准新增关键字

关键字说明
_Alignas用于指定最小对齐要求。它可以用于类型定义或变量定义,用来指定数据的对齐方式
_Alignof用来获取数据类型的对齐要求
_Atomic用于提供原子性操作。原子性意味着操作是不可中断的,要么完全执行,要么完全不执行,在执行过程中不会被其他线程或事件打断
_Generic它允许你在编译时根据表达式的类型来选择不同的代码分支。这个特性可以用来实现类似于模板函数的功能,但是不需要使用者关心具体的类型,这是因为类型信息在编译时就已经被确定了
_Noreturn用来指定函数永远不会返回。这有助于编译器优化代码和避免无意义的警告信息
_Static_assert它用于在编译时进行静态断言。如果断言条件为假,编译器将在编译时显示指定的错误消息,并且终止编译过程
_Thread_local用来声明线程本地存储的变量。这意味着每个线程都有其自己的变量副本,且该副本与其他线程隔离
  • 29
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值