2个回答
展开全部
举个例吧,
假如一个结构:LinkNode
初始化:Initial(LinkNode **p);//这里就是双指针
那么在调用就这样,
LinkNode *p;
Initial(&p);
原理就是,如果你要通过函数来改变某个参数的值,那么就要传该参数的地址进去。
这里p是一个指针,所以要传指针的地址进去,也就是一个指向指针的指针;
初始化函数Initial(LinkNode *(*p));(*p)是指针,*(*p)就是传指针的地址进去了,意思就这样,不知道你听不听得懂。
不管动态还是静态,只要是要通过函数来改变指针类型数据的值,就要用双重指针。
假如一个结构:LinkNode
初始化:Initial(LinkNode **p);//这里就是双指针
那么在调用就这样,
LinkNode *p;
Initial(&p);
原理就是,如果你要通过函数来改变某个参数的值,那么就要传该参数的地址进去。
这里p是一个指针,所以要传指针的地址进去,也就是一个指向指针的指针;
初始化函数Initial(LinkNode *(*p));(*p)是指针,*(*p)就是传指针的地址进去了,意思就这样,不知道你听不听得懂。
不管动态还是静态,只要是要通过函数来改变指针类型数据的值,就要用双重指针。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询