黑马程序员技术交流社区

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

作者: lvguodong    时间: 2015-10-5 14:53
标题: 结构体的内存分析
  1. #include <stdio.h>
  2. int main()
  3. {
  4.     struct lv
  5.     {
  6.         char *name;           //8字节
  7.         int age;              //4字节
  8.     };
  9.     struct lv l1={"栋1",11};
  10.     printf("结构体lv的字节数为:%lu\n",sizeof(struct lv));
  11.     struct lv1
  12.     {
  13.         char name;            //1字节
  14.         int age;              //4字节
  15.     };
  16.     printf("结构体lv1的字节数为:%lu\n",sizeof(struct lv1));
  17.     struct lv2
  18.     {
  19.         char *name;           //8字节
  20.         char c;               //1字节
  21.         int age;              //4字节
  22.     };
  23.     printf("结构体lv2的字节数为:%lu\n",sizeof(struct lv2));
  24.     /*
  25.      结构体分配内存空间遵循两个原则:
  26.      1:每个元素的偏移量(当前元素的首个地址距离整个结构体首个地址的字节数)必须是自己所占字节数的整数倍
  27.      2:整个结构体的字节数必须是其最大元素所占字节数的整数倍,如果不够,最后一个元素填充字节
  28.      */
  29.     return 0;
  30. }
复制代码



作者: xu不是许    时间: 2015-10-27 22:44
今天我们也是刚学啦
作者: StillSad    时间: 2015-10-28 08:38
加油




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