关键字之volatile,extern,struct,union,enum
volatile作用:
1.不会在两个操作之间把volatile变量缓存在寄存器中(变量可能在其他程序被改变)
2.不做常量合并、常量传播等优化。
3.对volatile变量的读写不会优化掉。
extern:外部声明
extern不是用来定义,是用来声明
作用:扩展适用范围
表明变量或函数的定义在别的文件中,下面用到的这些变量或函数都是外来的。提示编译器遇到此变量或函数时,在其他模块中寻找定义。
struct:
字对齐:有int按字对齐
半字对齐:有short按半字对齐
成员列表又称“域表”
结构类型中成员指向结构类型指针,那只能指向它自己。
减少空洞内存:同类型成员定义放在一起。
union:“n选1”
所有成员起始地址相同,占用内存是成员中最大的
分配空间字对齐,4的整数倍
enum:枚举常量赋值:(默认方式)
1.没有显式赋值时,第一个成员值为0;
2.后一个成员为前一个成员值加1.