求助 sizeof

来源:百度知道 编辑:UC知道 时间:2024/05/31 05:20:08
struct stu_type
{char name[10];
int num;
int age;
char addr[30];
} stu[40];

for(i=0;i<40;i++)
fwrite(&stud[i],sizeof(struct stu_type),1,fp);

这里 sizeof(struct stu_type) 是什么意思,它等于多少?请帮忙解释下..

name+num+age+addr=10+4+4+30=48
sizeof(struct stu_type) 指一个结构体的大小。方便确定结构体数组stud[i]需要写入的空间

sizeof(struct stu_type) 计算结构体大小
默认情况家 是52 (12 +4 +4 + 32)

如果加了#pragma pack(1) 就是48了

内存对齐问题 具体去网上查查吧

sizeof函数用于计算变量所占用的字节数 结构体所占字节数的计算方法是 所有成员所占字节数的总和。整型数据占4字节 字符串的话就是字符串的长度
哇嘎嘎 自己算算 然后检验下吧

是你定义的结构体啊。大小是里面各个变量以及数组占的空间之和。
你这里是10+4+4+30=48