Вказівники на багатовимірні масиви

Нехай має опис мовою C: int a[3][4];

Опис породжує 3 об’єкти:

ü Вказівник константу з ім’ям a;

ü Безіменний масив із 3-х вказівників;

ü Безіменний масив із 12-ти чисел типу int.

Для звернення до безіменних масивів використовуються адресні вирази над вказівником a.

Звернення до елементів двовимірного масиву

Нехай в програмі нам треба звернутися до елементу a[1][3]. Доступ до елементів масиву вказівників здійснюється за вказівкою першого індексного виразу у формі a[1] або *(a + 1). Для доступу до елементів двовимірного масиву чисел типу int повинні бути використані два індексні вирази у формі a[1][3] або еквівалентних їй *(*(a + 1) + 3) і (*(a + 1))[3]. Слід враховувати, що з точки зору синтаксису мови C вказівник a і вказівники a[0], a[1], a[2] є константами та їх значення не можна змінювати під час виконання програми. У такий спосіб до елементу a[1][3] можна звернутися так: a[1][3], *(a[1] + 3), (*(a + 1))[3], *(*(a + 1) + 3).


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: