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

// 定义单链表结构体 struct Node { int data; // 数据域 struct Node* next; // 指针域 };

int main() { struct Node* head = NULL; // 定义头节点并初始化为空 struct Node* tail = NULL; // 定义尾节点并初始化为空

// 循环创建节点
for(int i=1; i<=3; i++) {
    struct Node* newNode = (struct Node*)malloc(sizeof(struct Node)); // 动态分配内存
    newNode->data = i; // 赋值
    newNode->next = NULL; // 指针域初始化为空

    if(head == NULL) { // 第一个节点
        head = newNode;
        tail = newNode;
    }
    else { // 不是第一个节点
        tail->next = newNode;
        tail = newNode;
    }
}

// 输出链表中的元素
struct Node* p = head;
while(p != NULL) {
    printf("%d ", p->data);
    p = p->next;
}

// 释放内存
p = head;
while(p != NULL) {
    struct Node* tmp = p;
    p = p->next;
    free(tmp);
}

return 0;

}

C语言创建空的单链表并赋值 {1, 2, 3} - 代码详解

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

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