Добавил:
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
2
Добавлен:
31.01.2021
Размер:
10.53 Кб
Скачать

Інформатика — Теорія — Багаторівнева непряма адресація    Автори

|

Контакти

|

Підсистема допомоги

|

Методичні вказівки

|

Анотація

|

Назад

   ІнформатикаПокажчики : Багаторівнева непряма адресаціяЗміст курсу

Вступ

Теорія

Основні відомості про покажчики

Основні операції над покажчиками

Використання покажчиків

Багаторівнева непряма адресація

Операції над покажчиками

Поточна перевірка знань

Використання покажчиків

Висновки

Версія для друку

  Багаторівнева непряма адресація      У мові С++ можна використовувати багаторівневу непряму адресацію, тобто непряму адресацію на 1, 2 і т.д. рівні. При цьому для оголошення і звертання до значень за допомогою покажчиків можна використовувати відповідно кілька символів зірочка: *. Зірочки при оголошенні ніби уточнюють призначення імені змінної, визначаючи рівень непрямої адресації для звертання до значень за допомогою цих покажчиків. Приклад оголошення змінної і покажчиків для багаторівневої непрямої адресації можна привести наступний:int i = 123 ; // де: i - ім'я змінної int *pi = &i; // pi - покажчик на змінну і int **ppi = π // ppi - покажчик на покажчик на змінну pi int ***pppi = &ppi; // pppi - покажчик на 'покажчик на 'покажчик на змінну ppi' /     Для звертання до значень за допомогою покажчиків можна прийняти наступне правило, що жорстко зв'язує форму звертання з оголошенням цих покажчиків:      - повна кількість зірочок непрямої адресації, рівна кількості зірочок при оголошенні покажчика, визначає значення змінної;      - зменшення кількості зірочок непрямої адресації додає до імені змінної слово "покажчик", причому цих слів може бути стільки, скільки може бути рівнів непрямої адресації для цих імен покажчиків, тобто стільки, скільки зірочок стоїть в оголошенні покажчика. Наприклад, після оголошення: int i, *pi=&i;звертання у виді:*pi - визначає значення змінної, pi - покажчик на змінну i.А при звертанні до змінних можна використовувати різну кількість зірочок для різних рівнів адресації:pi, ppi, pppi - 0-й рівень адресації, пряма адресація;*pi, *ppi, *pppi - 1-й рівень непрямої адресації **ppi, **pppi - 2-й рівень непрямої адресації ***pppi - 3-й рівень непрямої адресації.Таким чином, до покажчиків 1-го і вище рівнів непрямої адресації можливі звертання і з меншою кількістю зірочок непрямої адресації, аніж задано при оголошенні покажчика. Ці звертання визначають адреси, тобто значення покажчиків визначеного рівня адресації. Ілюстрація відповідності між кількістю зірочок при звертанні за допомогою покажчика і призначенням звертання за покажчиком для наведено в таблиці 1 (де Р.н.а. - рівень непрямої адресації).

Таблиця 1 - Відповідність міх кількістю уточнень(*) і результатом звертання за допомогою покажчика

Звертання

Результат звертання

Р.н.а.

i

значення змінної i

1

*pipi

значення змінної, на яку вказує pi покажчик на змінну типу int, значення pi

10

**ppi*ppippi

значення змінної типу int покажчик на змінну типу int покажчик на "покажчик на змінну типу int', значення покажчика ppi

210

***pppi**pppi*pppipppi

значення змінної типу int; покажчик на змінну типу int покажчик на 'покажчик на змінну типу int' покажчик на 'покажчик на 'покажчик на змінну типу int', значення покажчика pppi

3210

 © 2008 ХНУРЭ, Інформатики, Сінельнікова Т.Ф., informatika@kture.Kharkov.uaРозроблено за допомогою LERSUS

Соседние файлы в папке content