C 언어로 연결된 목록에서 일부 작업을 시도하고 있습니다. 나는 초보자이며 일종의 기능으로 혼란 스럽다. append()
.포인터의 ** 의미 - C 언어
그들은 struct node **q
과 같은 함수에서 인수를 전달했습니다. 그리고 그들은 *q
과 함께 사용하고 있습니다. C 언어
기능 append()
:
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
를 사용하는 이유는 무엇입니까? - 차이점은 무엇입니까? 및
- 가장 좋은 방법은 무엇입니까?
어떤 도움을 주시면 감사하겠습니다.
첫 번째 고지 한 단어를 변경하지 않고도 질문을 전한 방법. 두 번째는 기능적으로 현명한 append() 함수 ** ** ** –
이 맞는지 여부와 질문 번호 -2가 질문 번호 -1이어야하는지 여부를 알려줍니다. –