Ho appena iniziato a imparare a programmare in C e, per migliorare la mia comprensione di puntatori e matrici, ho provato a fare riferimento agli elementi di un array senza creare alcun puntatore:
for(k1 = 0; k1 < ROW; k1++){
for(k2 = 0; k2 < COLUMN; k2++){
array[k1][k2] = k1*COLUMN + k2 + 1;
printf("[%d][%d] = %d\n", k1, k2, *(array[k1] + k2));
}
}
L'intero codice viene compilato ed eseguito in modo impeccabile.
Immagino che dover creare un puntatore per ogni singolo array in un grande codice sorgente sembra essere altamente inefficiente.
Quindi, piuttosto che avere l'indirizzo di un array archiviato e recuperato usando un puntatore, è una cattiva pratica di programmazione usare direttamente l'indirizzo dell'array, come mostrato sopra?
printf "[%d][%d] = %d\n", k1, k2, array[k1] [k2]));
eviterebbe il puntatore aritmico ed è più facile da capire.