32个关键字:
auto :声明自动变量 一般不使用
double :声明双精度变量或函数
int: 声明整型变量或函数
struct:声明结构体变量或函数
break:跳出当前循环
else :条件语句否定分支(与 if 连用)
long :声明长整型变量或函数
switch :用于开关语句
case:开关语句分支
enum :声明枚举类型
register:声明积存器变量
typedef:用以给数据类型取别名(当然还有其他作用)
char :声明字符型变量或函数
extern:声明变量是在其他文件正声明(也可以看做是引用变量)
return :子程序返回语句(可以带参数,也看不带参数)
union:声明联合数据类型
const :声明只读变量
float:声明浮点型变量或函数
short :声明短整型变量或函数
unsigned:声明无符号类型变量或函数
continue:结束当前循环,开始下一轮循环
for:一种循环语句(可意会不可言传)
signed:生命有符号类型变量或函数
void :声明函数无返回值或无参数,声明无类型指针(基本上就这三个作用)
default:开关语句中的“其他”分支
goto:无条件跳转语句
sizeof:计算数据类型长度
volatile:说明变量在程序执行中可被隐含地改变
do :循环语句的循环体
while :循环语句的循环条件
static :声明静态变量
if:条件语句
static:1.修饰局部变量,改变变量的生命周期和存储空间,但是不改变作用域,仍然是一个局部变量,作用域仅限于该语块。
2.修饰全局变量,改变变量的作用域只能在当前文件访问,不能在其他文件访问。
3.修饰函数,改变函数的作用域,函数只能在本文件中被调用,不能在其他文件被调用。
extern:可以修饰变量和函数,表示该变量或者函数在其他地方被定义(本源文件或其他源文件内),在这里声明使用它,这样多个源文件共享变量和函数;多个c源文件的编译是独立的,所以编译器无法判断多个源文件共享的变量的类型是否一致(只判断变量名或函数名是否一致);等到链接的时候(这个阶段已经不再进行语法检查了),多个源文件编译后的.o文件链接成一个目标文件,如果有一个以上源文件对同一个变量进行了初始化则报错。
const:1.可以定义const常量,具有不可变性。
2.便于进行类型检查,使编译器对处理内容有更多了解,消除了一些隐患。
3.可以避免意义模糊的数字出现,同样可以很方便地进行参数的调整和修改
4.可以保护被修饰的东西,防止意外的修改,增强程序的健壮性。
5.为函数重载提供了一个参考
6.可以节省空间,避免不必要的内存分配,提高效率。
auto:用来声明自动变量
register:如果一个变量被register来修辞,就意味着该变量会作为一个寄存器变量,让该变量的访问速度达到最快。
volatile:它修饰的变量表示该变量的值很容易由于外部因素发生改变,强烈请求编译器要老老实实地在每次变量进行访问时去内存里读取。
typedef:1.给变量一个易记且意义精确的新名字。
2.简化一些比较复杂的类型声明。