C语言 关键字
数据类型相关
内建类型(7个):
- void:声明函数无返回值类型或无参数,声明空类型指针。
- char:声明字符型变量或函数。
- short:声明短整型变量或函数
- int:声明整型变量或函数
- long:声明长整型变量或函数
- float:声明单精度浮点数或函数
- double:声明双精度浮点数或函数
自建类型(4个)
- struct:声明结构体变量;结构体所占内存大小是其成员所占内存大小之和 (有内存对齐和补齐)
- union:声明联合数据类型变量;联合使用足够的空间来放置多个数据成员的“一种”,而不是为每一个数据成员配置空间,所有的数据成员具有相同的起始地址。所以一个union只配置一个足够大的空间来容纳最大长度的数据成员。
- enum:声明枚举数据类型变量;enum变量类型还可以给其中的常量符号赋值,如果不赋值则会从被赋初值的那个常量开始依次加1,如果都没有赋值,他们的值从0开始依次递增1。
- sizeof:计算数据类型的长度,返回字节数。
类型限定符(9个)
- auto:声明自动变量,缺省时编译器默认为auto,一般不使用,所以也被称为最没用的关键字。
- const:声明只读变量,其修饰的只读变量必须在定义的同时初始化,可以显式的保护变量不被修改。
- static:声明静态变量或函数
主要作用: 1).修饰变量 静态全局变量:作用域从定义之处开始,到文件结尾处结束 静态局部变量:在函数体中定义时,只能在这个函数中使用,即使这个函数运行结束了,这个静态变量的值在函数下次使用时,仍然能用。 2).修饰函数 函数前面加static使得函数成为静态函数,此时函数的作用域仅限于本文本,使得不同的人编写不同的函数时,不用担心自己定义的函数是否与其它函数同名。 - volatile:介绍这个关键词之前,我们要知道编译器会自动进行取值优化,即编译器在内存中读取到该变量的值后,如果该变量的值没有发生改变,编译器会对其后续的取值进行优化,不再去内存中读取,而是使用第一次读取的结果。而使用volatile关键字修饰变量后,会让编译器不再进行取值优化。也就是对被volatile修饰的变量多次取值,每次取到的值可能会不一样。常用于硬件编程和驱动编程。
- register:申请把变量的存储介质由内存转移到寄存器存储,如果成功,数据的读取速度会大大提高;但如果当前没有空闲的寄存器,申请会失败。
- extern:声明一个变量已在外部定义过,让编译器放心使用。多用于多文件编程声明外部的全局变量。需要注意的是:1.extern只能临时的通过编译,如果该变量并没有在外部定义,那么在文件链接时依然会报错。2.extern只能声明变量,不能对齐赋值。
- typedef:类型重定义,定义变量时如果加上typedef,则变量名就变成了类型
- signed:声明有符号类型变量或函数
- unsigned:声明无符号类型变量或函数
流程控制相关
分支(5个)
- if:条件语句
- else:条件语句否定分支
- switch:用于开关语句
- case:开关语句分支
- default:开关语句中的“其他”分支
循环(3个)
- for:一种循环语句
- while:循环语句的循环条件
- do:循环语句的循环体
跳转(4个)
- break:跳出当前循环
- continue:结束当前循环,开始下一轮循环
- goto:无条件跳转语句
- return:子程序返回语句
|