gpt4 book ai didi

c - 链表节点的大小

转载 作者:行者123 更新时间:2023-12-02 07:03:20 24 4
gpt4 key购买 nike

对于sizeof运算符如何计算链表中一个节点的大小,我发现这有点棘手和递归。例如,我将以下结构作为列表中的一个节点:

struct ll_core
{
char c_ll;
struct ll_core * next;
};

printf("size of struct ll_core = %d\n\n",sizeof(struct ll_core));

它给了我一个答案8。现在如何确定大小8,因为要添加单个结构元素的大小,它还会遇到相同的结构ll_core。因此,它是计算大小时的一种循环或递归。请原谅,如果这样想的话,让我知道我是否想念任何基本的东西。

最佳答案

假设您正在32位计算机上运行代码,则指针的大小将为4个字节。由于结构将在单词边界上对齐,因此将填充3个字节,因此大小为8个字节。

这种结构实际上就像

struct ll_core{
char c_11:
char const byte[3]; //padded bytes for alignment reasons
struct ll_core *next;
};

关于c - 链表节点的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16768733/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com