Czesc, szukam odpowiedzi na pytanie dlaczego nie dziala druga wersja alokacji tablicy? Skoro przekazuje wzkaznik na tablice do fcji to w funckji powinno udac sie zaalokowac tam pamiec.
Pierwsza wersja:
char ** allocation(int _i)
{
int _n;
char ** _tab = (char**) malloc(_i*sizeof(char*));
for (_n=0; _n<_i; _n++)
{
_tab[_n] = (char*) malloc(10*sizeof(char));
}
return _tab;
}
int main(){
int i=0;
int n=0;
char **tab = NULL;
puts("Ile wyrazow chcesz wczytac?");
scanf("%d", &i);
tab = allocation(i);
return 0;
}
Druga wersja:
void allocation(char ** _tab, int _i)
{
int _n;
_tab = (char**) malloc(_i*sizeof(char*));
for (_n=0; _n<_i; _n++)
{
_tab[_n] = (char*) malloc(10*sizeof(char));
}
}
int main(){
int i=0;
int n=0;
char **tab = NULL;
puts("Ile wyrazow chcesz wczytac?");
scanf("%d", &i);
allocation(tab, i);
return 0;
}