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
本文深入探讨了C语言中共用体的使用及其在大小端模式存储模式下的内存差异,通过具体代码实例,解释如何利用这些特性验证运行平台是大端模式还是小端模式。同时,还提供了一个关于ASCII码与共用体相互转换的练习,帮助读者理解共用体在实际编程中的应用。

被折叠的 条评论
为什么被折叠?



