c语言 for循环遍历链表
时间: 2023-08-06 09:14:15 浏览: 238
在C语言中,可以使用for循环遍历链表。假设我们有一个链表结构体如下:
```
struct node {
int data;
struct node *next;
};
```
其中,data表示节点存储的数据,next是指向下一个节点的指针。
现在假设我们已经创建了一个链表,并且头指针为head。我们可以使用for循环遍历链表,代码如下:
```
struct node *p;
for (p = head; p != NULL; p = p->next) {
printf("%d ", p->data);
}
```
上述代码中,我们定义了一个指针p,初始化为头指针head。然后在循环中,我们判断p是否为NULL,如果不是,则打印p节点的数据,并将指针p指向下一个节点p->next。这样就可以逐个遍历整个链表了。
相关问题
C语言链表怎么遍历?
在C语言中,遍历链表通常涉及到对每个节点的访问,可以使用递归或迭代的方式进行。以下是基本的迭代遍历方法:
1. 首先,定义一个指向头节点的指针`current`初始化为`head`,如果链表为空,则指针为`NULL`。
2. 然后在一个循环里,执行以下操作:
- 检查当前节点是否为空,即`current`是否为`NULL`。
- 如果不为空,输出或处理当前节点的数据(例如通过`printf`打印节点值),然后将`current`指向下一个节点,通常是`current->next`。
- 当`current`变为`NULL`时,说明已经遍历到链表的末尾,退出循环。
示例代码:
```c
void traverseList(Node* head) {
Node* current = head;
while (current != NULL) {
printf("%d ", current->data); // 输出节点数据
current = current->next; // 移动到下一个节点
}
}
```
阅读全文