黑马程序员技术交流社区

标题: 结构体内存分析 [打印本页]

作者: i_iOS    时间: 2015-9-30 17:39
标题: 结构体内存分析
  1. //为了增加Cpu寻址的效率,结构体分配内存空间遵循的两个原则(对齐原则/对齐算法)
  2. //1每个元素的偏移量(当前元素首地址距离当前结构体首地址的字节数)必须是自己所占字节数的整数倍
  3. //2整个结构体的字节数必须是其最大元素所占字节数的整数倍,如果不够,最后一个元素填充字节
  4. #include <stdio.h>

  5. int main(){
  6.     struct Person{
  7.         char *name;//指针,8个字节
  8.         int age;//4字节
  9.     };
  10.     printf("%lu\n",sizeof(struct Person));
  11.    
  12.     struct Person1{
  13.         char *name;//指针,8个字节
  14.         int age;//4字节
  15.         int money;//4
  16.     };
  17.     printf("%lu\n",sizeof(struct Person1));
  18.    
  19.     struct shiyan{
  20.         int a;
  21.         char c;
  22.     };
  23.     printf("%lu\n",sizeof(struct shiyan));
  24.     struct shiyan2{
  25.         int a;
  26.         int b;
  27.         int c;
  28.         char d;
  29.     };
  30.     printf("%lu\n",sizeof(struct shiyan2));
  31.   
  32.     return 0;
  33. }
复制代码





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