小编bam*_*uie的帖子

为什么结构的大小与其成员的总和不同?

可能重复:
为什么structof sizeof不等于每个成员的sizeof之和?

如果我实现下面的代码,我的sizeof(*zip)输出是56. [10 + 10 + 4 + 4*8] byte = 56

typedef struct{
char a[10]; 
char b[10];
int c;
double d,f,g,h;
}abc_test;

abc_test zip[] = 
{
    {"Name" ,"Gender", 0,100,200,300,400},
    {"Name" ,"Gender", 0,100,200,300,400}

};
Run Code Online (Sandbox Code Playgroud)

但是当我实现下面的代码时,我的sizeof(*zip)输出是440. [100 + 100 + 100 + 100 + 4 + 4*8] = 436,我的问题是另外4个?

typedef struct{
char a[100];    
char b[100];
char i[100];
char j[100];
int c;
double d,f,g,h;
}abc_test;

abc_test zip[] = 
{
{"Name" ,"Gender","age","mode", 0,100,200,300,400},
{"Name" ,"Gender","age","mode", 0,100,200,300,400}

};
Run Code Online (Sandbox Code Playgroud)

c sizeof

4
推荐指数
1
解决办法
279
查看次数

标签 统计

c ×1

sizeof ×1