gpt4 book ai didi

c - 这些声明有什么区别?

转载 作者:太空宇宙 更新时间:2023-11-04 03:32:55 24 4
gpt4 key购买 nike

我正在学习数据结构的使用并遇到了一些疑问:

struct node
{
int data;
struct node *next;
}*head;

问题1:在上面的结构中,在结构中声明一个struct node *next是什么意思?它与简单地将结构中的指针变量声明为 int *next

有何不同

问题2:我们可以看到,在结构定义的末尾,声明了一个节点类型的指针*head,如果我是对的,它用于访问结构成员。这与这样声明一样吗:

                            struct node *head;

任何对此的帮助都会很棒。提前谢谢大家。

最佳答案

“struct node *next”声明了一个名为 next 的变量,它指向一个“struct node”。换句话说,一个单链表。

你是对的,语句做了两件事:

  1. 声明一个名为 node 的结构(带有一个名为 data 的 int 和一个指向下一个结构节点的指针)
  2. 声明一个名为 head 的变量指向结构节点。

这些可以单独完成,如下所示:

struct node
{
int data;
struct node *next;
};

struct node *head;

关于c - 这些声明有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34834542/

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