La differenza sostanziale è che con un array monodimensionale in fase di compilazione il compilatore riesce a gestire correttamente gli spostamenti lungo l'array sapendo solamente il tipo di dato della struttura, con gli array multidimensionali per calcolare la locazione di memoria necessita anche dei valori della profondità della dimensione aggiunta.
Esempi:
codice:void matrix3(int matrix[][3][4]){ } int main(){ int m[3][3][4] = {.......}; matrix3(m); getchar(); return 0; }QUI la cosa viene spiegata un po' più dettagliatamentecodice:void matrix2(int matrix[][3]){ } int main(){ int m[3][3] = {.......}; matrix2(m); getchar(); return 0; }

Rispondi quotando