我正在尝试用 C 语言对链表进行一些操作。我是一个新手,有点对功能感到困惑append()
。
他们在函数中传递了参数,例如struct node **q
. 他们将它与*q
.
append()
C语言函数:
void append(struct node **q, int num) {
struct node *temp, *r;
if(*q==NULL) {
temp=malloc(sizeof(struct node));
temp->data=num;
temp->link=NULL;
*q=temp;
}
else {
temp=*q;
while(temp->link!=NULL)
temp=temp->link;
r=malloc(sizeof(struct node));
r->data=num;
r->link=NULL;
temp->link=r;
}
}
我无法理解:-
- 为什么他们
**q
在参数和*q
代码部分中使用? - 有什么不同 ?和
- 最好的方法是什么?
任何帮助,将不胜感激。