用c语言定义一个链表然后对其赋值
时间: 2024-09-14 08:02:54 浏览: 44
c语言编程题之链表操作设计链表.zip
在C语言中,链表是一种数据结构,它由节点组成,每个节点包含数据和一个指向下一个节点的指针。下面是一个简单的单向链表的定义、节点的创建以及对链表的基本操作示例:
```c
#include <stdio.h>
#include <stdlib.h>
// 定义链表节点结构体
typedef struct Node {
int data; // 数据域
struct Node* next; // 指针域,指向下一个节点
} Node;
// 函数用于创建新节点并分配内存
Node* createNode(int value) {
Node* newNode = (Node*)malloc(sizeof(Node)); // 动态分配内存
if (newNode) {
newNode->data = value;
newNode->next = NULL; // 初始时下一个节点为空
return newNode;
}
return NULL; // 分配失败,返回NULL
}
// 函数用于初始化空链表
void initializeList(Node** headRef) {
*headRef = NULL;
}
// 显示链表(仅适用于已有节点)
void displayList(Node* head) {
Node* current = head;
while (current != NULL) {
printf("%d ", current->data);
current = current->next;
}
printf("\n");
}
int main() {
Node* head = NULL; // 初始化链表头指针
// 对链表进行赋值
head = createNode(1); // 创建第一个节点,值为1
if (head) {
head = createNode(2); // 创建第二个节点,值为2,连接到第一个节点
head->next = createNode(3); // 创建第三个节点,值为3,连接到第二个节点
// ... 可以继续添加更多节点
// 现在可以显示链表
displayList(head);
}
return 0;
}
```
在这个示例中,我们首先定义了一个`Node`结构体表示链表的节点,然后编写了`createNode`函数用于创建新的节点并分配内存,`initializeList`函数用于初始化链表为空,`displayList`函数用于遍历链表并打印元素。
阅读全文