其他分享
首页 > 其他分享> > 结构体大小

结构体大小

作者:互联网

结构体大小只要记住以下三点即可:
1.结构体每个成员变量的相对首地址必须是该变量长度的整数倍;
2.结构体总大小必须为最大成员长度的整数倍;
3.union长度为最大成员变量的长度;
例题:
下面结构体

struct s1{
	char ch,*ptr;
	union{
		short a,b;
		unsigned int c:2,d:1;
	}
	struct s1*next;
}

的大小为();
A.12字节
B.16字节
C.20字节
D.24字节
解析:
char ch: 总长度为1;
char *ptr:总长度为1+3+4;
union:总长度为1+3+4+4;(由第三条可知)
struct *s1 总长度为1+3+4+4+4
又因为16是最大长度4的整数倍,满足第二条,因此总长为16字节;
一上均为32位系统结果

爱编程的小屁孩 发布了93 篇原创文章 · 获赞 102 · 访问量 13万+ 私信 关注

标签:字节,union,s1,总长度,char,大小,长度,结构
来源: https://blog.csdn.net/fyf18845165207/article/details/104606358