union体与大小端模式的探讨

来源:互联网 发布:南风正太捏脸数据 编辑:程序博客网 时间:2024/05/21 11:28

int 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

原创粉丝点击