union体与大小端模式的探讨
nt checksystem(){
union check
{
int i;
char ch;
}c;
c.i=1;
return(c.ch==1)
}
这段代码摘自《C语言深度剖析》。其利用了共用体在大小端模式存储模式下的内存差异来验证,所运行平台是哪种模式?
原文解释如下:
再出一道题:
union ASCII
{
char c;
short i;
}m;
m.i=70;
cout<<"ASCII码为70的字符为:"<<m.c<<endl;
m.c='a';
count<<"字符a的ASCII码是" <<m.i<<endl;
思考一下,答案在下方。
程序输出如下:
ASCII码为70的字符为:F
字符a的ASCII码为97
摘自 chenhuijie666的专栏
补充:软件开发 , C语言 ,