在C語言中,可以通過定義結(jié)構(gòu)體來創(chuàng)建鏈表。以下是一個簡單的例子:
#include <stdio.h>
#include <stdlib.h>
// 定義鏈表節(jié)點(diǎn)結(jié)構(gòu)體
struct Node {
int data;
struct Node* next;
};
// 創(chuàng)建新節(jié)點(diǎn)
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() {
// 創(chuàng)建鏈表頭指針
struct Node* head = NULL;
// 添加節(jié)點(diǎn)到鏈表
struct Node* newNode = createNode(10);
head = newNode;
newNode->next = createNode(20);
newNode = newNode->next;
newNode->next = createNode(30);
newNode = newNode->next;
// 遍歷鏈表并打印節(jié)點(diǎn)的值
struct Node* current = head;
while(current != NULL) {
printf("%d ", current->data);
current = current->next;
}
return 0;
}
在上面的代碼中,首先定義了一個Node
結(jié)構(gòu)體來表示鏈表節(jié)點(diǎn)。然后通過createNode()
函數(shù)創(chuàng)建新的節(jié)點(diǎn),并通過指針將它們連接在一起形成鏈表。最后通過遍歷鏈表打印每個節(jié)點(diǎn)的值。