【发布时间】:2021-07-07 14:22:15
【问题描述】:
我最近开始学习链表,在学习如何编写用于显示链表的代码时,我在结构中遇到了这个所谓的全局指针。所以请你告诉我为什么使用它以及它的作用。
struct Node{
int data;
struct Node *next;
}*first=NULL;
//i am asking about the above pointer *first=NULL
【问题讨论】:
-
这将取决于上下文。
-
first不在结构中。它是一个全局指针,可以指向该结构的一个元素。用于指向链表的开头。 -
first不在结构中。first是struct Node *类型的变量,正在初始化为NULL。 -
代码是结构体
struct Node的定义和指向这种结构体first的指针的组合,该结构体被初始化为NULL,意味着它没有指向任何东西。根据名称first,这可能是指向此时为空的链表的第一个元素的指针。 (但没有看到更多代码,这只是一个猜测,目前还不清楚是否有必要将指针作为全局变量,或者是否最好是static。)
标签: c pointers struct linked-list global-variables