volatile,extern,struct,union,enum

来源:互联网 发布:英雄800和英雄100知乎 编辑:程序博客网 时间:2024/06/05 20:26

关键字之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.

0 0
原创粉丝点击