大话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 用来声明线程本地存储的变量。这意味着每个线程都有其自己的变量副本,且该副本与其他线程隔离

相关推荐

  1. 大话C语言4 关键字

    2024-05-03 12:16:09       11 阅读
  2. C语言关键字大全

    2024-05-03 12:16:09       37 阅读
  3. 大话C语言11 运算符之自增减运算符

    2024-05-03 12:16:09       10 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-05-03 12:16:09       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-05-03 12:16:09       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-05-03 12:16:09       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-05-03 12:16:09       18 阅读

热门阅读

  1. 产品经理的产品思维

    2024-05-03 12:16:09       9 阅读
  2. RCE学习

    RCE学习

    2024-05-03 12:16:09      13 阅读
  3. Python项目开发实战:密码学之编写加密程序

    2024-05-03 12:16:09       14 阅读
  4. 区块链 | IPFS 工作原理入门

    2024-05-03 12:16:09       10 阅读
  5. 远程为ubuntu安装teamviwer(无UI界面) - 简书

    2024-05-03 12:16:09       15 阅读
  6. 绕过Microsoft登录:安装Windows 11 23H2的两种方法

    2024-05-03 12:16:09       16 阅读
  7. ocr_class

    2024-05-03 12:16:09       9 阅读
  8. 【第5章】spring-mvc请求映射处理

    2024-05-03 12:16:09       10 阅读