请注意,由于C语言是一种编译型语言,下面的代码只是一种示例。它可能无法在所有编译器上运行或产生不同的结果。此外,为了简化问题,这个例子没有包含错误处理或内存管理。

代码如下:

#include <stdio.h>
#include <stdlib.h>

// 定义链表节点结构体
typedef struct node {
    int value;
    struct node *next;
} Node;

// 创建一个空的单链表
Node* create_list() {
    return NULL;
}

// 在链表尾部插入一个节点
Node* insert_tail(Node *head, int value) {
    Node *new_node = (Node*)malloc(sizeof(Node));
    new_node->value = value;
    new_node->next = NULL;
    if (head == NULL) {
        head = new_node;
    } else {
        Node *tail = head;
        while (tail->next != NULL) {
            tail = tail->next;
        }
        tail->next = new_node;
    }
    return head;
}

// 打印链表
void print_list(Node *head) {
    while (head != NULL) {
        printf("%d ", head->value);
        head = head->next;
    }
    printf("\n");
}

int main() {
    // 创建一个空的单链表
    Node *list = create_list();

    // 在链表尾部插入元素1, 2, 3
    list = insert_tail(list, 1);
    list = insert_tail(list, 2);
    list = insert_tail(list, 3);

    // 打印链表
    print_list(list);

    return 0;
}

输出结果为:

1 2 3

在这个例子中,我们首先定义了一个链表节点结构体。它包含一个整型值和一个指向下一个节点的指针。然后,我们编写了三个函数来操作这个链表:

  • create_list():创建一个空的单链表,返回一个指向头节点的指针。
  • insert_tail():在链表尾部插入一个节点,返回一个指向头节点的指针。
  • print_list():打印链表中所有节点的值。

在主函数中,我们首先创建了一个空的单链表。然后,我们使用insert_tail()函数在链表尾部插入了三个节点,值分别为1、2、3。最后,我们打印了链表中所有节点的值

C语言创建一个空的单链表在主函数赋值{123}

原文地址: https://www.cveoy.top/t/topic/cvkK 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录