gpt4 book ai didi

c - 节点本身定义的节点指针是如何工作的?

转载 作者:行者123 更新时间:2023-11-30 18:17:52 26 4
gpt4 key购买 nike

考虑这个struct定义:

struct node {
int age;
struct node* next;
};
  1. struct node *nextstruct node {...}的定义中时,怎么可能有struct node *next呢? > 本身?
  2. sizeof(struct node*) 的值是多少?
  3. 与:

    struct node* to_add = (struct node*)(malloc(sizeof(struct node));

to_add只有分配的内存的地址吗?

虽然我已经使用并实现了 C/C++ 中的数据结构,但是我有一些基本的疑问。您能帮我理解我的疑问吗?我尝试在网上搜索,但疑问仍然存在。

最佳答案

  1. 因为您只需要类型的声明来定义指向该类型的指针。 struct 定义的开头声明了类型,因此可以在其中包含指向该类型的指针。

  2. sizeof(struct node*) 返回指针的大小

  3. malloc 返回一个指向该类型大小的堆内存的指针,但该内存未初始化。

  4. 大小正确,但尚未初始化。

关于c - 节点本身定义的节点指针是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35511934/

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