How to iterate over a linked list in C

1 Answer

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

typedef struct Node {
    int x;
    struct Node *next;
} Node;

int main(void) {
    Node root;
    
    root.x = 12;
    root.next = malloc(sizeof(Node));
    root.next->x = 189;
    root.next->next = malloc(sizeof(Node));
    root.next->next->x = 1983;
    root.next->next->next =  malloc(sizeof(Node));
    root.next->next->next->x = 10000;
    root.next->next->next->next = NULL;
    
    for (Node *current = &root; current != NULL; current = current->next) {
        printf("%d\n", current->x);
    }
    
    free(root.next->next->next);
    free(root.next->next);
    free(root.next);
    
    return 0;
}



/*
run:

12
189
1983
10000

*/

 



answered Dec 30, 2020 by avibootz
edited Dec 30, 2020 by avibootz

Related questions

1 answer 84 views
84 views asked Mar 9, 2025 by avibootz
1 answer 167 views
167 views asked May 2, 2021 by avibootz
1 answer 158 views
1 answer 156 views
156 views asked Dec 26, 2020 by avibootz
2 answers 189 views
2 answers 195 views
4 answers 172 views
172 views asked Nov 23, 2023 by avibootz
...