Я новичок в C. Я пытаюсь передать список структур в функцию и внутри этой функции заполнить список. Код выглядит следующим образом:Передача структуры в функции и добавление элементов
#include <stdio.h>
#include <stdlib.h>
struct Abc {
int test;
struct Abc *next;
};
void demo_fill(struct Abc *data);
int main(int argc, char **argv) {
struct Abc *db = NULL;
demo_fill(db);
printf("%d\n",db->test);
return 0;
}
void demo_fill(struct Abc *data) {
int i;
for(i = 0; i < 5; i++) {
struct Abc *new;
new = malloc(sizeof(struct Abc));
new->test = i;
new->next = data;
data = new;
}
}
При запуске это «ошибки сегментации (ядро сбрасывали)» ошибка происходит потому, что структура все еще NULL, когда я пытаюсь напечатать первый элемент. Что я делаю не так?
Вы не работаете в отладчике перед отправкой в SO, это то, что вы делаете неправильно. – djechlin