Я только начал учиться программировать на C, и чтобы улучшить мое понимание указателей и массивов, я попытался ссылаться на элементы массива, не создавая вообще никакого указателя:
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));
}
}
Весь код компилируется и работает без нареканий.
Я представляю, что создание указателя для каждого отдельного массива в большом исходном коде кажется крайне неэффективным.
Таким образом, вместо того, чтобы хранить и извлекать адрес массива с помощью указателя, является ли плохой практикой программирования использовать адрес массива напрямую, как показано выше?
printf "[%d][%d] = %d\n", k1, k2, array[k1] [k2]));
позволит избежать арифметики указателя и будет проще для понимания.