1、sizeof相关
或许大家已经熟知char int long float double的size,但union可能大家很少了解。如下代码打印结果在32位操作系统上是?
typedef union{
int a;
char b[5];
}mtype;
int _tmain(int argc, _TCHAR* argv[])
{
printf("sizeof(int)=%d,sizeof(char)=%d,sizeof(mtype)=%d",sizeof(int),sizeof(char),sizeof(mtype));
while(1);
}
结果为:sizeof(int)=4,sizeof(char)=1,sizeof(mtype)=8
说明在union中,union的大小以其中最大类型的为基本单位
2、volatile关键字
volatile关键字字面意思是“易变的”,在C语言中可解释为“直接原始地址读取”
优化器在用到这个变量时必须每次都小心地重新读取这个变量的值(From Memory),而不是使用保存在寄存器里的备份。
阅读(684) | 评论(0) | 转发(0) |