结构体内存大小

这只是作者自己的理解,读者看不明白请找其他资料。

#include <stdio.h>

int main(int argc, const char * argv[]) {     

   struct per     {       

  int a;       

  double b;     //内存大小:16

    int a1;       8个内存地址前四个

  char b2;      

   char b3;   后面两个

  }per2;      

printf("%lu ",sizeof(per2));//内存大小:24    

   struct per1     {     

    int a;      

   double b;      16

   char b2;     八个第1个

    int a1;        八个第五个开始到最后一个

char b3;         八个第一个

   }per3;    

    printf("%lu ",sizeof(per3));//内存大小:32             return 0; }

原文地址:https://www.cnblogs.com/wangjinshan/p/7125313.html