当前位置:编程学习 > C/C++ >>

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语言 ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,