Jak poprawnie malloc dla tablicy struct w C
Przeczytam w dwóch zestawachchar*
(lub łańcuchy) za pomocąstrtok
, a ponieważ te dwa zestawy znaków są powiązane,(address : command\n)
Postanowiłem użyć struktury.
struct line* array = (struct line*)malloc(sizeof(file) * sizeof(struct line*));
Ta liniamalloc
Miejsce na funkcję daje mi błąd segmentacji i zastanawiałem się, czy możesz mi powiedzieć, w jaki sposóbmalloc
miejsce na to. Dla kontekstu, oto reszta mojego kodu:
struct line
{
char* addr;
char* inst;
};
while loop{
x = strtok(line,": ");
y = strtok(NULL,"\n");
strcpy(array[i].addr,x); //assume that x and y are always 3characters
strcpy(array[i].inst,++y);
i++;
}