黑马程序员技术交流社区

标题: 结构体大小计算方法 非常实用 [打印本页]

作者: 赵云18235802528    时间: 2015-7-5 10:37
标题: 结构体大小计算方法 非常实用
#include <stdio.h>

//步骤:1.上下对齐  2.整体对齐

int main(int argc, const char * argv[]) {
    //结构体大小的计算方法
    struct student{
        int a;  // 4
        char b; // 1+4=5   +3=8
        double c;//8+8=16
        float e;//4+16=20
        short f;//2+20=22  +2 =24
    };
    struct student s;
    printf("%ld",sizeof(s));
    return 0;
}



作者: heyuze    时间: 2015-7-5 13:15
支持~
作者: Fighting--BJ    时间: 2015-7-5 14:33
学习学习!
作者: 涛涛    时间: 2015-7-5 17:12
已收到:)
作者: fanxing    时间: 2015-7-5 18:28
这个感觉还是掌握的不太好
作者: liii    时间: 2015-7-6 12:22
不错,很直观!
作者: zilin    时间: 2015-7-7 22:44
好实用哎。
作者: 984326157    时间: 2015-7-8 10:10
不错,顶一个
作者: aludiba    时间: 2015-7-8 10:19
学习了~
作者: 庐山烟雨浙江潮    时间: 2015-7-8 20:09
  1. struct st1
  2. {
  3.      char a ;
  4.      int  b ;
  5.      short c ;
  6. };

  7. struct st2
  8. {
  9.      short c ;
  10.      char  a ;
  11.      int   b ;
  12. };
复制代码


如果照楼主那样算的话,为什么sizeof(st1)的值为12,  sizeof(st2) 为 8 ?
作者: 深蓝的蓝    时间: 2015-7-8 22:41
顶一个,不错
作者: 毛琳东    时间: 2015-7-8 23:50
赞一个,总结的很好




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