Saya baru saja mulai belajar memprogram dalam C, dan untuk meningkatkan pemahaman saya tentang pointer dan array, saya mencoba merujuk pada elemen-elemen dari array tanpa membuat pointer sama sekali:
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));
}
}
Seluruh kode mengkompilasi dan berjalan dengan sempurna.
Saya membayangkan harus membuat pointer untuk setiap larik tunggal dalam kode sumber besar tampaknya sangat tidak efisien.
Jadi, daripada memiliki alamat array yang disimpan dan diambil dengan menggunakan pointer, apakah itu praktik pemrograman yang buruk untuk menggunakan alamat array secara langsung, seperti yang ditunjukkan di atas?
printf "[%d][%d] = %d\n", k1, k2, array[k1] [k2]));
akan menghindari pointer aritmik dan lebih mudah dimengerti.