首先,来看这样两段代码
#include <iostream>
using namespace std;
void fun(int*b)
{
*b = 1;
}
int main()
{
int a = 5;
fun(&a);
cout << a << endl;
cin.get();
return 0;
}
代码一运行返回1
#include <iostream>
using namespace std;
void fun(int b)
{
b = 1;
}
int main()
{
int a = 5;
fun(a);
cout << a << endl;
cin.get();
return 0;
}
代码二运行返回5
对于普通变量函数调用,想要修改其值,需要用指针。
而链表节点我们首先封装成一个结构体,结构体里面有数据和next指针。插入和删除操作需要对next指针里存放的地址进行修改,也就是说对一级指针修改,那么函数调用的时候就需要用到二级指针。插入和删除修改的不是next指针所指向的内容!!