如果我有例如
typedef struct node
{
int numbers[5];
} node;
每当我创建这样一个结构的实例时,都会在堆栈中为数组本身分配内存(在我们的例子中,20 个字节分配 5 个整数(将整数视为 32 位)),并且数字将是指向该缓冲区的第一个字节。所以,我认为由于在节点实例内部,将会有一个 20 字节的缓冲区(对于 5int
s) 和一个 4 字节指针(numbers
), sizeof(node)
应该是24字节。但当我实际打印出来时,却显示 20 个字节。
为什么会发生这种情况?为什么不考虑指向数组的指针?
我将非常感谢任何回应。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)