volatile关键字:确保本条指令不会因为编译器的优化而省略,且要求每次直接读值;
union test{
int i;
char x[2];
}a;
int main(){
a.x[0]=10;
a.x[1]=1;
printf("%dn", a.i);
return 0;
}
union这种类型,就是内部的变量共同使用一块空间,按照size大的分配;int 大小为4字节,char x[2]大小为2字节,所以分配4字节;可以使用sizeof(a)来看它的大小;
volatile关键字:确保本条指令不会因为编译器的优化而省略,且要求每次直接读值;
union test{
int i;
char x[2];
}a;
int main(){
a.x[0]=10;
a.x[1]=1;
printf("%dn", a.i);
return 0;
}
union这种类型,就是内部的变量共同使用一块空间,按照size大的分配;int 大小为4字节,char x[2]大小为2字节,所以分配4字节;可以使用sizeof(a)来看它的大小;