Ciao amici, ho bisogno di spiegazione nel caso di allocazione rigorosamente statica (quella dinamica CREDO di conoscerla piuttosto bene)
dunque...
nella dichiarazione di un array (anche multidimensionale) devo specificare la dimensione
int array[2][3];
oppure posso ometterla, a condizione di elencare i valori
int array[][] = {{3,4},{5,6},{7,8}};
ma NON posso fare una cosa così
int array[][3]; oppure
int array[2][]; o ancora
int array[][];
fin qua giusto?
Domanda 1: come mai quando passo un array multidimensionale a una funzione posso omettere la prima dimensione?
void funz(int b[][3]) {.....}
In paratica, come funziona la memoria nel caso di array statici?
Domanda 2: posso scrivere una funzione che ritorna un array, questo SENZA usare i puntatori? Quindi non
int* funz(...) {...}
ma
int[] funz(..) che però così come è scritto NON compila? C'è un modo?
Grazzzie!