Cześć,
Natknąłem się na pewien problem, którego nie mogę rozgryźć, podczas czyszczenia pamięci dwuwymiarowej dynamicznej tablicy charow.
W przypadku tablicy intów wygląda to tak i jest okej.
int **tab;
tab=(int**)malloc(sizeof(int*));
tab[0]=(int*)malloc(2*sizeof(int));
tab[1]=(int*)malloc(2*sizeof(int));
tab[2]=(int*)malloc(2*sizeof(int));
int i;
for(i=2;i>-1;i--)
free(tab[i]);
free(tab);
Ale gdy zmienię z int na char program się krzaczy
char **choices;
choices=(char**)malloc(sizeof(char*));
choices[0]=(char*)malloc(25*sizeof(char));
choices[1]=(char*)malloc(25*sizeof(char));
choices[2]=(char*)malloc(25*sizeof(char));
choices[3]=(char*)malloc(25*sizeof(char));
choices[4]=(char*)malloc(25*sizeof(char));
choices[5]=(char*)malloc(25*sizeof(char));
int i;
for(i=5;i>-1;i--)
free(choices[i]);
free(choices);
Jeśli to coś zmienia to dodam, że piszę na linuxie.