用C语言生成静态链表并加上注释
时间: 2023-03-19 12:22:54 浏览: 120
下面是一个用C语言生成静态链表的示例代码,每行代码都添加了注释以便理解:
```c
#include <stdio.h>
// 定义链表结构体
struct Node {
int data; // 数据域
int next; // 指针域,表示下一个节点的位置
};
int main() {
// 定义静态链表
struct Node list[5] = {
{1, 1}, // 第一个节点的数据为1,下一个节点的位置为1(因为是第二个节点,所以指向自己)
{2, 3}, // 第二个节点的数据为2,下一个节点的位置为3
{3, 4}, // 第三个节点的数据为3,下一个节点的位置为4
{4, 2}, // 第四个节点的数据为4,下一个节点的位置为2
{5, -1} // 第五个节点的数据为5,下一个节点的位置为-1(表示链表结束)
};
// 输出链表中的元素
int i = 0;
while (list[i].next != -1) { // 如果下一个节点的位置不是-1(即还有下一个节点)
printf("%d ", list[i].data); // 输出当前节点的数据
i = list[i].next; // 将当前节点的下一个节点作为下一次循环的当前节点
}
printf("%d\n", list[i].data); // 输出最后一个节点的数据
return 0;
}
```
这个示例代码定义了一个长度为5的静态链表,其中每个节点都包含一个数据域和一个指针域。在生成链表时,每个节点的指针域都指向下一个节点的位置,最后一个节点的指针域为-1,表示链表的结束。在遍历链表时,代码通过不断修改当前节点的指针域来遍历整个链表,并输出每个节点的数据域。
相关推荐
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![7z](https://img-home.csdnimg.cn/images/20210720083312.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)