数据类型关键字:
程序离不开数据,而数据的存储就需要用到数据类型。
C语言提供的数据类型关键字:
K&R
int | 整型 |
long | 长整型 |
short | 短整型 |
char | 字符型 |
float | 单精度浮点型 |
double | 双精度浮点型 |
unsigned | 无符号类型 |
C90
void | 无类型 |
signed | 有符号类型 |
PS:数据类型默认是signed(有符号类型),而char标准是unsigned(无符号类型),不过char的默认类型最终还是取决于编译器。
_Bool | 布尔值类型 |
_Complex | 复数类型 |
_Imaginary | 虚数类型 |
inline | 内联函数 |
restrict | 限定和约束指针 |
long long | 64位整型 |
long double | 多精度浮点型 |
_Alignsa |
类型说明符 |
_Alignof |
运算符 |
_Atomic |
类型限定符 |
_Generic |
提供重载的入口接口(这个很厉害,后面章节进行单独讲解) |
_Noreturn |
函数标记 |
_Static_assert_ |
静态断言 |
_Thread_local |
储存类型标识符 |
控制语句关键字:
while | 先判断条件,再执行循环体语句 |
do...while | 先执行循环体语句,再判断条件 |
for | 循环(后面章节会进行详解) |
continue | 跳过此次循环剩下内容,直接进行下个循环 |
break | 跳出离它最近的(for、while、do...while、switch) |
if | 条件判断 |
else if | 条件判断,与if搭配使用 |
else | if、else if条件判断最终分支 |
switch | 开关语句 |
case | 开关语句分支,case 必须是常量标签 |
default | 如果不满足case的任何一种情况,就执行default下的语句 |
return | 从被调函数返回到主调函数继续执行 |
储存类型关键字:
auto | 声明自动变量 |
extern | 声明此(变量/函数)在别处定义,在此处引用 |
register | 声明寄存器变量 |
static | 声明静态变量 |
其他关键字:
volatile | 指令关键字,确保本指令不会因编译器的优化而忽略,且要求每次直接读值 |
const | 限定符,与volatile相反,const定义的常量一旦定义就不能被修改 |
struct | 定义一个结构体 |
enum | 枚举型 |
union | 联合体、共同体,顾名思义就是union内的多个成员共用一块内存 |
typedef | 定义类型的别名 |