阅读量:0
在C语言中,初始化一个静态链表需要定义一个结构体来表示链表节点,然后创建一个指向该结构体的指针变量作为链表头
#include<stdio.h> #include <stdlib.h> // 定义链表节点结构体 typedef struct Node { int data; // 节点存储的数据 struct Node* next; // 指向下一个节点的指针 } Node; // 初始化静态链表 Node* init_list() { Node* head = NULL; // 初始化链表头为NULL return head; } // 向链表中添加元素 void add_element(Node** head, int data) { Node* new_node = (Node*) malloc(sizeof(Node)); // 创建新节点 new_node->data = data; // 设置新节点的数据 new_node->next = *head; // 将新节点的next指针指向原链表头 *head = new_node; // 更新链表头为新节点 } // 打印链表 void print_list(Node* head) { Node* current = head; while (current != NULL) { printf("%d -> ", current->data); current = current->next; } printf("NULL\n"); } int main() { Node* list = init_list(); // 初始化链表 add_element(&list, 10); // 向链表中添加元素 add_element(&list, 20); add_element(&list, 30); print_list(list); // 打印链表 // 释放链表内存(省略) return 0; }
这个例子展示了如何初始化一个静态链表、向链表中添加元素以及打印链表。注意,这里没有包含释放链表内存的代码,实际使用时需要在适当的位置添加释放内存的操作。