参考答案: C
详细解析:
struct student1{
char name[10];-----10个字节
long sno; ------4个字节
char sex;------1个字节
float score[4];-----16个字节
}
sizeof(struct student1)结果为:10+4+1+16=31字节
sizeof(union student2)结果为:16字节
假设以下代码运行环境为32位系统,其中,attribute((packed))的作用是告诉编译器取消结构在编译过程中的优化对齐,按照实际占用字节数进行对齐。
代码段1:
代码段2:
sizeof(struct student1)、sizeof(union student2)的结果分别是( )。
A. 248和128
B. 31和31
C. 31和16
D. 16和16
参考答案: C
详细解析:
struct student1{
char name[10];-----10个字节
long sno; ------4个字节
char sex;------1个字节
float score[4];-----16个字节
}
sizeof(struct student1)结果为:10+4+1+16=31字节
sizeof(union student2)结果为:16字节