在C語言中,可以通過定義結構體來創建鏈表。以下是一個簡單的例子:
#include <stdio.h>
#include <stdlib.h>
// 定義鏈表節點結構體
struct Node {
int data;
struct Node* next;
};
// 創建新節點
struct Node* createNode(int data) {
struct Node* newNode = (struct Node*)malloc(sizeof(struct Node));
if(newNode == NULL) {
printf("Memory allocation failed\n");
exit(1);
}
newNode->data = data;
newNode->next = NULL;
return newNode;
}
int main() {
// 創建鏈表頭指針
struct Node* head = NULL;
// 添加節點到鏈表
struct Node* newNode = createNode(10);
head = newNode;
newNode->next = createNode(20);
newNode = newNode->next;
newNode->next = createNode(30);
newNode = newNode->next;
// 遍歷鏈表并打印節點的值
struct Node* current = head;
while(current != NULL) {
printf("%d ", current->data);
current = current->next;
}
return 0;
}
在上面的代碼中,首先定義了一個Node
結構體來表示鏈表節點。然后通過createNode()
函數創建新的節點,并通過指針將它們連接在一起形成鏈表。最后通過遍歷鏈表打印每個節點的值。