关于结构体大小的计算

关于结构体大小的计算

先付代码如下

struct str1 
	{
		
		char a;
		double  c;
		char d;
//int *aa;
	};
	printf("%d\n",sizeof(str1));
	struct str2
	{
		int  c;
		char a;
		char d;

	};
printf("%d\n",sizeof(str2));	

union str3
	{
		char a[10];
		int b;
	};
printf("%d",sizeof(str3));	

运算结果如下

在这里插入图片描述
预备知识:
结构体规定,字节数应按照最大的成员变量的整数倍存储,即地址对齐,且其首地址也应为该字节数的整数倍
首先对于第一个char double char
char一个字节,补充七个字节,(此时总字节8)开始存储double,(此时总的16)之后存储char(此时总的17),但应对齐为8的整数倍,则补充为24.以下同理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值