温馨提示×

如何初始化c语言静态链表

小樊
82
2024-09-08 22:54:10
栏目: 编程语言

在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;
}

这个例子展示了如何初始化一个静态链表、向链表中添加元素以及打印链表。注意,这里没有包含释放链表内存的代码,实际使用时需要在适当的位置添加释放内存的操作。

0