Указатели и двумерные массивы в С++

Эффективность работы с двумерными (и многомерными) массивами напрямую связана с тем, как такие массивы технически реализуются в об­ласти памяти. Другими словами, для понимания основных механизмов в использовании массивов необходимо иметь четкое представление о при­ роде массивов в С++. В частности, при работе с двухмерными массива­ми с успехом могут использоваться указатели. Однако в данном случае принципиально важно помнить о том, что такое на самом деле двумерный массив и как для его элементов в памяти выделяется место. Двумерный массив в С++ - это обычный массив, элементами которого, в свою очередь, являются массивы. Размерность первого, «ба­зового» массива при объявлении определяется числом в первых квадрат­ных скобках, а размерность массивов-элементов - число во вторых квадратных скобках. Таким образом, формально указав имя массива и только первый индекс элемента, получаем ссылку на соответствующую строку двумерного массива. Более точно, название двумерного массива с одним лишь первым индексом есть не что иное, как указатель на первый элемент соответствующей строки массива. Это важное замечание для понимания принципов использования указателей с двумерными (многомерными) массивами. Пример использования указателей при работе с двумерными массивами приведен в листинге.
#include 
using namespace std;
int main(){
int n[4][5],*p;
for(int i=0; i < 4; i++){
 p=n[i];
 for(int j=0; j < 5;j++){
 *(p+j)=5*i+j+1;
 printf("%4d",n[i][j]);}
 printf("\n");
}
return 0;
}

Оставить комментарий

Вы должны быть авторизованы , чтобы оставить или оценить комментарий.

Онлайн всего: 2
Гостей: 1
Пользователей: 1

STUDLAB Сообщить про опечатку на сайте