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的專欄