黑马程序员技术交流社区

标题: 结构体内存存储情况求解 [打印本页]

作者: 星河鹭起    时间: 2014-4-20 20:12
标题: 结构体内存存储情况求解
#include <stdio.h>
struct student
{
        char *name;
        int ages;
        int year;
};
int main()
{
        struct student stu[3]={{"AA",11,22},{"AA",33,44},{"BB",44,55}};
        int count = sizeof(stu);
        printf("%d\n",count);
}
代码如上,按照MJ视频中说的,结构体所占用的字节数一定是结构体中变量属性的整数倍,那一个结构体应该是16个字节,然后使用3个结构体数组,总的字节数应该是48个,为什么我运行出来是36个字节呢?求解释
作者: 星河鹭起    时间: 2014-4-20 20:57
马凯文 发表于 2014-4-20 20:34
对啊!是36个字符!
指针  占   4个字节
整型  占   4个字节

想起来了,指针在64位环境下是8个字节,32位环境下是4个字节。谢谢




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2