ti da errore perche' la variabile "n" e' dichiarata "int *" e la funzione invece ritorna un "int **" e quindi non va bene.Originariamente inviato da solid gear
se provo con il debug, vedo che l'indirizzo di vet viene modificato con quello di n, come voglio io, ma se provo ad accedere a un parte di memoria di vet, per esempio mettendo un 5 in *(vet+1), e facendo la printf mi viene SIGSEGV...codice:...[CUT]... int **studentsalloc(int nstudents){ int *n = NULL; n = (int *) malloc (nstudents*sizeof(int)); return n; /* ora mi dice Return from incompatible pointer type */ }
devo per forza fare un cast a quel return n?
sto impazzendo, la logica dei puntatori mi è piu o meno chiara, sto studiando sodo :master:
ma quello che non capisco e' perche' usare un puntatore a puntatore (int **) invece che semplicemente un puntatore (int *).....