码迷,mamicode.com
首页 > 其他好文 > 详细

结构体的大小

时间:2016-07-10 23:29:50      阅读:307      评论:0      收藏:0      [点我收藏+]

标签:

系统在存储结构体变量时存在地址对齐问题,编译器在编译程序时会遵循两条原则:

一、结构体变量中成员的偏移量必须是成员大小的整数倍;

二、结构体大小必须是所有成员大小的整数倍。

 

 1 #include<stdio.h>
 2 
 3 struct a{
 4     int i;
 5     float f;
 6     char c;
 7     double d;
 8     long l;
 9 }b;
10 
11 int main(){
12     printf("%d\n",sizeof(b.i));// 4
13     printf("%d\n",sizeof(b.f));// 4
14     printf("%d\n",sizeof(b.c));// 1 
15     printf("%d\n",sizeof(b.d));// 8
16     printf("%d\n",sizeof(b.l));// 4
17 
18     printf("%d\n",sizeof(a));// 32
19     printf("%d\n",sizeof(b));// 32
20 
21     return 0;
22 }

 

结构体的大小

标签:

原文地址:http://www.cnblogs.com/theBoyisNone/p/5658789.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!