在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;
}
這個例子展示了如何初始化一個靜態鏈表、向鏈表中添加元素以及打印鏈表。注意,這里沒有包含釋放鏈表內存的代碼,實際使用時需要在適當的位置添加釋放內存的操作。