blisko:
-w Headerze nazwy_kolumn musi być dalekim wskaźnikiem (tablica napisów czyli tablica tablic znaków)
-w Row element next też musi być wskaźnikiem na Row
-malloca nie robisz w tym miejscu
jak te błędy usuniesz to zakładasz sobie strukturę:
Kod: Zaznacz cały
typedef struct Data{
Header *hdr;
Row *first;
} Data;
i malloc musi iść potem odpowiednio w takiej kolejności:
-alokujesz strukturę typu Data (np. Data d)
-alokujesz w niej d->hdr
-d->hdr->ile_k = 0
-w pętli zczytujesz nazwy kolumn rozwijając tablicę d->hdr->nazwy_kolumn i zwiększając d->hdr->ile_k
-zakładasz wskaźnik pomocniczny typu Row *last
-alokujesz d->first i przepisujesz last = d->first
-w pętli robisz te kroki:
--alokujesz last->nazwa_wiersza, wczytujesz ją
--alokujesz last->liczby jako tablicę o liczbie elementów wziętej z d->hdr->ile_k, wczytujesz liczby
--last = last->next
w ten sposób zawsze dopisujesz do końca listy a w strukturze prawidłowo przechowujesz jej początek