Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Оголошення покажчика



Покажчик – це змінна, котра призначена для збереження адресу об’єкта деякого типу.

Синтаксис:

[<специфікація типу>] * <описувач>;

Специфікація типу задає тип змінної, на яку посилається покажчик, а символ (*) визначає саму змінну як покажчик.

Оголошення покажчика специфікує ім’я змінної-покажчика і тип об’єкта, на який може вказувати ця змінна. Специфікація типу може задавати базовий, пустий, структурний тип чи тип об’єднання. Якщо специфікація типу пропущена, передбачається тип int.

В мові Сі використовуються змінні типу покажчик. Значенням такої змінної слугує адреса деякої величини. Якщо ми дамо покажчику ім’я ptr, то зможемо написати, наприклад, такий оператор:

ptr = &pooh; /* присвоєння адресу pooh змінній ptr */

де &pooh – константа типу покажчик (адрес деякої змінної pooh);

ptr – змінна типу покажчик.

В такому випадку ptr “вказує на” pooh. Різниця між двома формами запису: ptr і &pooh, полягає в тому, що ptr – змінна, в той час як &pooh – константа.

Таким чином, якщо, в змінній ptr міститься посилання на змінну pooh, тоді для доступу до значення цієї змінної можна скористатися операцією “непрямої адресації”:

val = *ptr; /* визначення значення, на яке вказує ptr */

Останні два оператори, взяті разом, еквівалентні наступному:

val = pooh;

Приклад:

pooh = 22;

ptr = &pooh; /* покажчик на pooh */

val = *ptr;

Результат виконання даного фрагмента – присвоєння значення 22 змінній val.

Переважно виконання функції не робить ніякого впливу на значення змінних програми яка здійснює виклик. Щоб мати можливість безпосередньо змінювати значення змінних програми яка здійснює виклик, необхідно використовувати покажчики в якості аргументів. Це може виявитися необхідним у випадку, якщо у програму що здійснює виклик необхідно передати більше ніж одне значення.

Приклад:

/* Програма яка здійснює обмін значеннями між двома змінними x i y*/





Дата публикования: 2015-01-13; Прочитано: 421 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...