union体与大小端模式的探讨

来源:岁月联盟 编辑:猪蛋儿 时间:2012-05-02
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的专栏

图片内容