用c语言实现二级指针对链表传参
时间: 2023-10-26 14:05:06 浏览: 118
以下是用C语言实现二级指针对链表传参的示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
typedef struct node {
int data;
struct node *next;
} Node;
void insert(Node **head, int data) {
Node *newNode = (Node*)malloc(sizeof(Node));
newNode->data = data;
newNode->next = *head;
*head = newNode;
}
void printList(Node *head) {
while (head != NULL) {
printf("%d ", head->data);
head = head->next;
}
printf("\n");
}
int main() {
Node *head = NULL;
insert(&head, 1);
insert(&head, 2);
insert(&head, 3);
printf("The linked list is: ");
printList(head);
return 0;
}
```
在上面的代码中,我们定义了一个链表结构体`Node`,包含数据成员`data`和指向下一个节点的指针`next`。在`insert`函数中,我们使用二级指针`**head`来传递链表的头指针,这样我们就可以直接修改头指针的值。在`printList`函数中,我们只需要使用普通指针`*head`即可遍历整个链表。在`main`函数中,我们使用`insert`函数向链表中插入三个节点,并使用`printList`函数打印出整个链表的数据。
阅读全文