c语言创建结构体链表代码
时间: 2023-09-29 07:11:09 浏览: 54
下面是一个简单的C语言示例代码,用于创建并操作结构体链表:
```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("内存分配失败\n");
exit(1);
}
newNode->data = data;
newNode->next = NULL;
return newNode;
}
// 插入节点函数
void insertNode(struct Node** head, int data) {
struct Node* newNode = createNode(data);
if (*head == NULL) {
*head = newNode;
} else {
struct Node* temp = *head;
while (temp->next != NULL) {
temp = temp->next;
}
temp->next = newNode;
}
}
// 遍历链表函数
void traverseList(struct Node* head) {
struct Node* temp = head;
while (temp != NULL) {
printf("%d ", temp->data);
temp = temp->next;
}
}
// 主函数
int main() {
struct Node* head = NULL; // 链表头指针
// 插入节点
insertNode(&head, 1);
insertNode(&head, 2);
insertNode(&head, 3);
// 遍历链表并打印节点数据
traverseList(head);
return 0;
}
```
上述代码创建了一个简单的结构体链表,包括了创建节点、插入节点和遍历链表的函数。在主函数中,我们创建了一个头指针 `head`,然后通过调用 `insertNode` 函数插入一些节点,最后使用 `traverseList` 函数遍历链表并打印节点的数据。
请注意,在实际应用中,需要根据具体需求进行相应的修改和扩展,例如删除节点、按特定顺序插入节点等操作。此外,为了确保内存的正确释放,还需要实现删除节点时的内存释放操作。