(1)先是定义了如下结构体:
(2)然后,换一下变量的顺序:
(3)再换个顺序:
(1)1000 1111 11111111(0表示补充位)
(2)1 0000000 11111111 1111 0000 (由于20不是8的整数倍,最后还会补充4位,共计24位)
(3)11111111 1000 1111(共计16位)
本文详细解析了在C/C++中,不同变量顺序对于结构体内存占用的影响。通过具体实例,展示了内存对齐如何影响结构体的大小,并解释了为何相同结构体因变量顺序不同而产生不同的内存占用。
(1)先是定义了如下结构体:
(2)然后,换一下变量的顺序:
(3)再换个顺序:
(1)1000 1111 11111111(0表示补充位)
(2)1 0000000 11111111 1111 0000 (由于20不是8的整数倍,最后还会补充4位,共计24位)
(3)11111111 1000 1111(共计16位)

被折叠的 条评论
为什么被折叠?