Создание связанного списка с циклом for

Вот моя структура

struct ListItem{

    int data;
    struct ListItem *next;

};

Предполагая, что первый узел связанного списка будет иметь данные = 0, я хочу написать цикл for, который создает связанный список размером 5, но я не уверен, как работать

Я попробовал следующее

int main(int argc, char* argv[]){

    struct ListItem a;
    a.data = 0;


    for (int i = 1; i < 5; i++){
        struct ListItem *pointer = &a;
        struct ListItem nextnode;
        nextnode.data = i;
        a.next = &nextnode;
        pointer = pointer->next;

    }
}

Но результат a.data = 0 и a.next-> data = 4

Ответы на вопрос(2)

Ваш ответ на вопрос