版本声明:本文转载于公众号TeachPlus
c语言面试题----联合体、共用体、大小端
编写程序,测试本机大小端:
本题解析
# include <stdlib.h>
# include <stdio.h>
int main( int argc, char **argv)
{
union {
short s;
char c[ sizeof( short)];
} un;
un.s = 0x0102;
if( sizeof( short)==2) {
if(un.c[0]==1 && un.c[1] == 2)
printf("big-endian\n");
else if (un.c[0] == 2 && un.c[1] == 1)
printf("little-endian\n");
else
printf("unknown\n");
}
else
printf("sizeof(short)= %d\n", sizeof( short));
exit(0);
}
首先来看一下联合体和大小端的定义
联合体
union,中文名“联合体、共用体”,在某种程度上类似

本文提供了一道C语言面试题,涉及共用体(Union)的特性,即所有成员共享同一块内存,以及如何编写程序检测机器的大小端模式。通过对共用体的理解和大小端知识的运用,帮助程序员准备面试。
最低0.47元/天 解锁文章
1325

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



