以下是C语言的一个struct声明
#pragma pack(4) typedef struct { int a; char b; int c; float e; char f; float g; } stru;
问在32bits平台下,sizeof(stru) 为多少?
A. 22 B. 24 C. 28 D. 32
float 4
int 4
double 8
char 1
struct以最大成员为最小单位。按照定义顺序依次将成员填入最小单位。溢出则再申请一个最小单位。
如果有double和int,其中int,只能位于8字节,也就是0到7字节位置,的0或者4位。
B
在此结构体中,所有数据类...
用户登录可进行刷题及查看答案
在此结构体中,所有数据类型在32位主机或者64位主机上无影响,另外#pragma pack(4)指定字节对齐为4;
数据类型 字节数 字节对齐
int 4 4
char 1 4
float 4 4
故sizeof的值应为24;
登录后提交答案