请用C语言生成一个链表
时间: 2024-09-22 07:08:03 浏览: 38
在C语言中创建一个简单的链表通常涉及定义节点结构、创建节点函数以及管理链表的头结点。这里是一个基本的示例:
```c
// 定义链表节点结构体
typedef struct Node {
int data; // 节点数据
struct Node* next; // 指向下一个节点的指针
} Node;
// 创建新节点的函数
Node* createNode(int value) {
Node* newNode = (Node*)malloc(sizeof(Node)); // 动态分配内存
if (newNode != NULL) {
newNode->data = value;
newNode->next = NULL; // 初始时,新节点的下一个节点为空
return newNode;
}
return NULL; // 如果内存分配失败,返回NULL
}
// 初始化一个空链表
Node* initializeList() {
Node* head = NULL; // 链表头指针初始化为NULL
return head;
}
// 在链表末尾添加新节点
void appendToList(Node** head, int value) {
Node* newNode = createNode(value);
if (newNode != NULL && *head == NULL) { // 如果链表为空,则设置头节点
*head = newNode;
} else {
Node* current = *head;
while (current->next != NULL) {
current = current->next;
}
current->next = newNode;
}
}
// 打印链表
void printList(Node* head) {
while (head != NULL) {
printf("%d -> ", head->data);
head = head->next;
}
printf("NULL\n");
}
```
阅读全文