Mam problem z następującym kodem, cały czas wywala mi błąd: Naruszenie ochrony pamięci:
int ilosc_testow;
fscanf("%i",&ilosc_testow);
int max = 128;
int size = 3*ilosc_testow;
int j;
char** dane = (char**)malloc(size*sizeof(char*));
for(j=0;j<size;j++){
dane[j] = (char*)malloc(max*sizeof(char));
}
int i;
i = 0;
while(fscanf(f,"%s",&dane[i]) != EOF){
printf("%s",dane[i]);
i++;
}
Tablica ta jest zwalniana później. Wszystko działa dla ręcznie utworzonej tablicy np. char napisy[10][20], jednakże tutaj coś nie gra. Domyślam się, że błąd "Naruszenie ochrony pamięci" dotyczy min. niepoprawnego odnoszenia się do zmiennych, gdzie to pewnie ma miejsce w pętli while. Jednakże przy tej ręcznie utworzonej tablicy mogłem spokojnie odwoływać się w pętli while w taki sposób dane[i] a jest ona również tablicą dwuwymiarową. Jakieś pomysły ? Niestety jestem laikiem w programowaniu.