黑马程序员技术交流社区
标题:
结构体内存分析
[打印本页]
作者:
i_iOS
时间:
2015-9-30 17:39
标题:
结构体内存分析
//为了增加Cpu寻址的效率,结构体分配内存空间遵循的两个原则(对齐原则/对齐算法)
//1每个元素的偏移量(当前元素首地址距离当前结构体首地址的字节数)必须是自己所占字节数的整数倍
//2整个结构体的字节数必须是其最大元素所占字节数的整数倍,如果不够,最后一个元素填充字节
#include <stdio.h>
int main(){
struct Person{
char *name;//指针,8个字节
int age;//4字节
};
printf("%lu\n",sizeof(struct Person));
struct Person1{
char *name;//指针,8个字节
int age;//4字节
int money;//4
};
printf("%lu\n",sizeof(struct Person1));
struct shiyan{
int a;
char c;
};
printf("%lu\n",sizeof(struct shiyan));
struct shiyan2{
int a;
int b;
int c;
char d;
};
printf("%lu\n",sizeof(struct shiyan2));
return 0;
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2