建立指针数组并使用循环语句完成建立存储1-10的链表使用c语言完成
时间: 2023-05-30 21:02:53 浏览: 80
以下是建立指针数组并使用循环语句完成建立存储1-10的链表的C语言代码:
```
#include <stdio.h>
#include <stdlib.h>
typedef struct node {
int data;
struct node *next;
} Node;
int main() {
Node *nodes[10]; // 声明指针数组
int i;
// 建立链表
for (i = 0; i < 10; i++) {
nodes[i] = (Node *)malloc(sizeof(Node)); // 分配内存
nodes[i]->data = i + 1; // 存储数据
if (i == 0) {
nodes[i]->next = NULL; // 第一个节点的next指针指向NULL
} else {
nodes[i]->next = nodes[i - 1]; // 其他节点的next指针指向前一个节点
}
}
// 遍历链表
Node *p = nodes[9]; // 从最后一个节点开始遍历
while (p != NULL) {
printf("%d ", p->data); // 输出节点数据
p = p->next; // 指向下一个节点
}
printf("\n");
// 释放内存
for (i = 0; i < 10; i++) {
free(nodes[i]);
}
return 0;
}
```
上述代码首先声明了一个指针数组`nodes`,用于存储链表中的节点指针。然后使用循环语句逐个分配内存并存储节点数据,同时将节点指针按顺序串联起来。最后,从最后一个节点开始遍历链表,输出节点数据,并释放内存。
运行结果为:
```
10 9 8 7 6 5 4 3 2 1
```