Mam problem dotyczący alokacji dynamicznej tablicy.
W strukturze typedef zawarłem deklarację wskaźnika
typedef struct{
int szer;
int wys;
void *tab
}cos;
Następnie w pewnej funkcii alokuję pamięć w taki sposób(jej parametrem jest wskaznik do struktury czyli )
funkcja(obraz *tam){ .....
tam->tab=malloc(tam->szer*tam>wys*sizeof(int));
int (*piksele)[tam->wys];
piksele=(int(*)[tam->wys])tam>tab;
}
Następnie na początku KAZDEJ kolejnej f. zawarłem następujące dwie linijki kodu :
int (*piksele)[tam->wys];
piksele=(int(*)[tam->wys])tam->tab;
Dzięki temu operuję swobodnie na tablicy, odwołując się do jej elementów jako piksele [i][j]=...
Kompilator wywala jednak warningi, wszędzie tam, gdzie zawarte są te dwie linie kodu :
funkc1.c5: warning: ISO C90 forbids variable length array ‘piksele’ [-Wvla]
funkc15: warning: ISO C90 forbids variable length array [-Wvla]
Nie mam pojecia jak to zrobic zeby dlugosc tablicy nie byla zmienną, przeciez jej wymiar ustalam dopiero na pewnym etapie programu.