gpt4 book ai didi

c - 取消引用指向结构的指针

转载 作者:太空宇宙 更新时间:2023-11-04 06:01:53 25 4
gpt4 key购买 nike

我最近遇到了这个问题。

创建了一个单向链表,链表的节点看起来像

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

列表是使用 add at head 创建的,列表看起来像

100->200->300

显示函数写成

void display(struct node* head)
{
while(head != NULL)
{
printf ("%d", *head);
head=head->next;
}
}

这是访问列表中数据的合法方式吗?我将它与 GCC 编译器捆绑在一起,它发出警告但它起作用了。在某些情况下会导致错误吗?

最佳答案

printf ("%d", *head);

应该是

printf ("%d", head->data);

然后编译器警告应该消失。您的代码偶然起作用(或者是偶然的,正如@alk 评论的那样) 因为 datastruct node 的第一个成员。这可能取决于结构参数的方式传递给 printf 函数。无论如何,这是错误的。

关于c - 取消引用指向结构的指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18288136/

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