volatile,extern,struct,union,enum
2016-10-25 10:49
302 查看
关键字之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.
volatile作用:
1.不会在两个操作之间把volatile变量缓存在寄存器中(变量可能在其他程序被改变)
2.不做常量合并、常量传播等优化。
3.对volatile变量的读写不会优化掉。
extern:外部声明
extern不是用来定义,是用来声明
作用:扩展适用范围
表明变量或函数的定义在别的文件中,下面用到的这些变量或函数都是外来的。提示编译器遇到此变量或函数时,在其他模块中寻找定义。
struct:
字对齐:有int按字对齐
半字对齐:有short按半字对齐
成员列表又称“域表”
结构类型中成员指向结构类型指针,那只能指向它自己。
减少空洞内存:同类型成员定义放在一起。
union:“n选1”
所有成员起始地址相同,占用内存是成员中最大的
分配空间字对齐,4的整数倍
enum:枚举常量赋值:(默认方式)
1.没有显式赋值时,第一个成员值为0;
2.后一个成员为前一个成员值加1.
相关文章推荐
- C关键字解读——volatile, extern, struct, union, enum
- C语言深度解剖——读书笔记-3、关键字(const、 volatile、extern、struct、union、enum、typedef)
- c语言关键字static,const,extern,struct,enum,union
- struct/enum/union用法
- enum,struct,union类型使用和长度
- Struct enum union 内存分配
- 关于C与C++的struct,union,enum用法差异
- 结构struct 联合Union和枚举Enum的细节讨论
- 结构体struct和联合体union以及enum枚举体5的区别
- struct union enum
- enum,struct,union类型使用和长度
- 结构体(Struct)联合体(Union)枚举(enum)总结
- struct、union、enum and sizeof
- C++中数据对齐问题。struct、union、enum,类继承。再谈sizeof()
- union, struct, enum 的 大小区别
- union, struct, enum 的 大小区别
- struct union enum的区别
- volatile extern struct
- 构造数据类型struct,共用体union,枚举类型enum,宏#define的区别
- <struct、union、enum>差异