c语言单向链表的建立

在C语言中,单向链表是一种常用的数据结构,可以通过指针实现动态存储数据。以下是一个简单的例子来说明如何创建一个单向链表

首先,需要定义一个节点结构体,该结构体包含两个成员,一个是数据域,另一个是指向下一个节点的指针。

struct node {
    int data;
    struct node *next;
};

然后,需要定义一个头指针,它指向链表的第一个节点。在链表中,头指针不包含数据,只是用于标识链表的开始。

struct node *head = NULL;

接下来,可以使用malloc函数动态分配内存来创建一个节点,并将数据存储到该节点中。然后将该节点的指针添加到链表中。这个过程可以使用一个循环来重复执行,直到链表中包含所需的节点数。

以下是一个简单的示例代码,该代码使用while循环来创建一个包含5个节点的单向链表:

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

struct node {
    int data;
    struct node *next;
};

int main() {
    int i;
    struct node *new_node, *current_node;
    
    // 创建第一个节点
    head = (struct node*)malloc(sizeof(struct node));
    head->data = 1;
    head->next = NULL;
    
    // 创建其他节点
    current_node = head;
    for (i = 2; i <= 5; i++) {
        new_node = (struct node*)malloc(sizeof(struct node));
        new_node->data = i;
        new_node->next = NULL;
        current_node->next = new_node;
        current_node = new_node;
    }
    
    // 输出链表中的元素
    current_node = head;
    while (current_node != NULL) {
        printf("%d\n", current_node->data);
        current_node = current_node->next;
    }
    
    return 0;
}

在这个例子中,首先创建了第一个节点,然后通过循环创建其他节点,并将它们链接起来。最后,使用while循环输出链表中的元素。

猜你喜欢:c语言文件结束符怎么输入,怎么用