17.5结构体字节对齐:为了效率

/*
* 结构体字节对齐:为了效率
*        1,结构体的大小一定是最大基本类型的整数倍
*        2,一般是以最大的基本类型为参照,进行对齐
*        3,成员的地址一定是自身大小的整数倍
*/

 

#include<stdio.h>
/*
* 结构体字节对齐:为了效率
*		1,结构体的大小一定是最大基本类型的整数倍
*		2,一般是以最大的基本类型为参照,进行对齐
*		3,成员的地址一定是自身大小的整数倍
*/

struct Int
{
	int number;
};	//4个字节

struct DBInt
{
	int number1;
	int number2;
};	//8个字节

typedef struct
{
	short num1;	//2
	char sex;	//1	
}Int32;	//4个字节

typedef struct
{
	char c;		//1
	short s;	//2
	char cc;	//1	  6  8 10 12
}Other;	//6个字节


typedef struct
{
	char c;		//1		
	char cc;	//1	 
	short s;	//2
}Other1;	//4个字节

struct Array
{
	char name[10];	//10  2*4=8  2
	short i;		//2	
	int age;		//4			
};	//16个字节

int main()
{
	//struct Int 有几个字节
	printf("%d\n", sizeof(struct Int));
	printf("%d\n", sizeof(struct DBInt));
	printf("%d\n", sizeof(Int32));
	printf("%d\n", sizeof(Other));
	printf("%d\n", sizeof(Other1));
	printf("%d\n", sizeof(struct Array));

	return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值