两个星号是二级指针,用于修改指针的指向
函数传指针实际上还是值传递,如果定义相同类型的指针,那只是把地址传给它,相当于两个指针指向同一个变量,并不能改变指针指向
如果想改指针的指向,得用二级指针(指针的指针),让它来改变指针
你可以把
struct node{} 类比成int
struct node{} *linklist 类比成 int *p
struct node{} **linklistpointer 类比成 int **q
如果用typedef自定义类型
typedef strcut {}* linklist; //相当于把strcut {} * 这个匿名结构体的指针命名为linklist类型
linklist *linklistpointer; //定义指针的指针,即二级指针
函数传指针实际上还是值传递,如果定义相同类型的指针,那只是把地址传给它,相当于两个指针指向同一个变量,并不能改变指针指向
如果想改指针的指向,得用二级指针(指针的指针),让它来改变指针
你可以把
struct node{} 类比成int
struct node{} *linklist 类比成 int *p
struct node{} **linklistpointer 类比成 int **q
如果用typedef自定义类型
typedef strcut {}* linklist; //相当于把strcut {} * 这个匿名结构体的指针命名为linklist类型
linklist *linklistpointer; //定义指针的指针,即二级指针