Eu apenas comecei a aprender a programar em C e, para melhorar minha compreensão de ponteiros e matrizes, tentei me referir aos elementos de uma matriz sem criar nenhum ponteiro:
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));
}
}
Todo o código compila e executa na perfeição.
Eu imagino que ter que criar um ponteiro para cada matriz em um grande código-fonte parece ser altamente ineficiente.
Portanto, em vez de ter o endereço de uma matriz armazenado e recuperado usando um ponteiro, é uma prática ruim de programação usar o endereço da matriz diretamente, como mostrado acima?
printf "[%d][%d] = %d\n", k1, k2, array[k1] [k2]));evitaria o ponteiro aritmico e é mais fácil de entender.