Чи можете ви отримати доступ до покажчика, як до масиву?
Як альтернатива використанню традиційної нотації індексу масиву, ви також можете використовувати вказівник для доступу та взаємодії з елементами в масиві.
Підписка покажчика на масив ptr = arr; Оскільки ptr є вказівником на перший рядок двовимірного масиву, тобто масив із 4 цілих чисел, ptr + i вказуватиме на i-й рядок. Після розіменування ptr + i ми отримуємо базову адресу i-го рядка. Щоб отримати доступ до адреси j-го елемента i-го рядка, ми можемо додати j до виразу покажчика *(ptr + i).
Так, ви можете ініціалізувати масив покажчиків під час оголошення. Наприклад, ви можете написати int *arr[] = {&x, &y, &z}; де x, y, z — цілі числа, уже оголошені у вашому коді. Це збереже адреси x, y, z в масиві.
Перший спосіб полягає в простому призначити змінну масиву змінній покажчика. За визначенням, змінна масиву без квадратних дужок та індексу представляє адресу масиву, яка також є адресою першого елемента. Отже, ми можемо просто сказати, що p = x; без оператора & (адреса).
Масив — це сукупність елементів одного типу фіксованого розміру, що зберігаються в безперервних розташуваннях пам’яті, тоді як покажчик — це змінна, яка зберігає адресу пам’яті іншої змінної. Масиви забезпечують прямий доступ до своїх елементів за допомогою індексів, тоді як покажчики забезпечують непрямий доступ, посилаючись на адреси пам’яті.
Доступ до елементів масиву за допомогою покажчиків. У цій програмі елементи зберігаються в цілочисельному масиві data[]. Тоді, доступ до елементів масиву здійснюється за допомогою покажчика. До речі, data[0] еквівалентно *data, а &data[0] еквівалентно data.