根据关键字的作用,可以将关键字分为数据类型关键字和流程控制关键字两大类。 <math.h> 数学函数库使用的各种定义 <setjmp.h> 支持非局部跳转 <signal.h> 定义信号值 <stdarg.h> 支持可变长度的变元列表 <stddef.h> 定义常用常数 <stdio.h> 支持文件输入和输出 <stdlib.h> 其他各种声明 <string.h> 支持串函数 <time.h> 支持系统时间函数 C99新增的头文件和库 <complex.h> 支持复数算法 <fenv.h> 给出对浮点状态标记和浮点环境的其他方面的访问 <inttypes.h> 定义标准的、可移植的整型类型集合。也支持处理最大宽度整数的函数 <iso646.h> 首先在此1995年第一次修订时引进,用于定义对应各种运算符的宏 <stdbool.h> 支持布尔数据类型类型。定义宏bool,以便兼容于C++ <stdint.h> 定义标准的、可移植的整型类型集合。该文件包含在<inttypes.h>中 <tgmath.h> 定义一般类型的浮点宏 <wchar.h> 首先在1995年第一次修订时引进,用于支持多字节和宽字节函数 <wctype.h> 首先在1995年第一次修订时引进,用于支持多字节和宽字节分类函数 1 数据类型关键字 A基本数据类型(5个) void :声明函数无返回值或无参数,声明无类型指针,显式丢弃运算结果 char :字符型类型数据,属于整型数据的一种 int :整型数据,通常为编译器指定的机器字长 float :单精度浮点型数据,属于浮点数据的一种 double :双精度浮点型数据,属于浮点数据的一种 B 类型修饰关键字(4个) short :修饰int,短整型数据,可省略被修饰的int。 long :修饰int,长整形数据,可省略被修饰的int。 signed :修饰整型数据,有符号数据类型 unsigned :修饰整型数据,无符号数据类型 C 复杂类型关键字(5个) struct :结构体声明 union :共用体声明 enum :枚举声明 typedef :声明类型别名 sizeof :得到特定类型或特定类型变量的大小 D 存储级别关键字(6个) auto :指定为自动变量,由编译器自动分配及释放。通常在栈上分配 static :指定为静态变量,分配在静态变量区,修饰函数时,指定函数作用域为文件内部 register :指定为寄存器变量,建议编译器将变量存储到寄存器中使用,也可以修饰函数形参,建议编译器通过寄存器而不是堆栈传递参数 extern :指定对应变量为外部变量,即标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。 const :与volatile合称“cv特性”,指定变量不可被当前线程/进程改变(但有可能被系统或其他线程/进程改变) volatile :与const合称“cv特性”,指定变量的值有可能会被系统或其他进程/线程改变,强制编译器每次从内存中取得该变量的值