C++链表中指针的用法

一直对指针及其用法理解的不够透彻
最近学链表各种学不明白

比如
typedef struct Node{ /* 定义单链表结点类型 */
elemType element;
Node *next;
}Node;

/* 1.初始化线性表,即置单链表的表头指针为空 */
void initList(Node **pNode)
{
*pNode = NULL;
printf("initList函数执行,初始化成功\n");
}

这几个指针都什么意思,求大神详解

第1个回答  推荐于2016-02-23
单链表结构中,组成链表的结构体内很定存在一个指针,这个指针指向的是下个存储单元的地址。
比如;
Node a,b;
a.next = &b;

/*入参是指针的指针,指向的存储链表头的空间的地址,对应关系
Node head;Node* headaddr = &head;Node **pNode = &headaddr;
这里传递的是存储链表头的空间的地址*/
void initList(Node **pNode)
{
//这里相当于headaddr= NULL;利用指针的指针改值
*pNode = NULL;
printf("initList函数执行,初始化成功\n");
}本回答被提问者和网友采纳
相似回答