我做了一个在C双向链表结构,并且需要知道如何计算定制结构的大小。我理解某些数据类型的大小和指针在我的机器上的8个字节。结构尺寸用C
然而,当我创建这个数据类型
struct doublylinked {
int data;
struct doublylinked *next;
struct doublylinked *prev;
};
我得到的所有值内总共加起来20个字节。数据的
大小= 4
大小分组的下一= 8
大小= 8
然而,当我打印出来的大小此数据类型的其等于24.
大小doublylinked = 24
在哪里这些额外的4个字节是从哪里来的?
感谢
请删除C++代码。额外的4个字节可能来自对齐。你正在使用哪种编译器? – lpapp
http://en.wikipedia.org/wiki/Data_structure_alignment –
编译器GCC是。使用sizeof(struct doublylinked)检查大小...谢谢你将检查结构对齐 –