一、 二级指针简介
- 指向指针的指针,称为二级指针
- 二级指针实质上存放的是一级指针的地址
二、 运行二级指针在单链表中的进行删除
1. 结构定义
typedef struct node
{
int data;
struct node *next;
}Node;
2. 运用一级指针的删除操作
/*
* 功能:删除值为iData的节点
*/
void DeleteItem(Node *pHead, int iData)
{
Node *p1 = pHead;
Node *p2 = NULL;
while(p1 != NULL)
{
// 找到要删除的节点
if (p1->data == iData)
{
// 如果是第一个节点
if (p1 == pHead)
{
// 保留p1->next节点
p2 = p1->next;
free(p1);
p1 = NULL;
pHead = p2;
}
else // 不是第一个节点
{
p2->next = p1->next;
free(p1);
p1 = NULL;
}
return;
}
p2 = p1; // p2保留的是上一个节点的指针
p1 = p1->next;
}
return;
}
3. 运用二级指针在单链表中的删除操作
<