|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
ІндексуванняОперація індексування вказівника забезпечує доступ до об’єкта, який зміщений у пам’яті на величину, що визначається значенням індексу. При цьому зсув у байтах дорівнює добутку значення індексу і розміру базового типу. Таким чином, якщо i – деяке значення цілого типу, а P – вказівник з деяким базовим типом, то має місце співвідношення P[i] == *(P + i). Звичайним образом над вказівниками виконуються всі операції порівняння. При цьому порівнювати можна тільки вказівники з тим самим базовим типом. Операції new і delete розглядатимуться окремо. За винятком операції присвоювання і операцій порівняння, ніякі дії над вказівниками з базовим типом void не визначені. Константи і вказівники Вказівник може бути оголошеним константою. У цьому разі після ініціалізації він завжди буде посилатися на ту саму ділянку пам’яті і змінити це посилання виявляється неможливим. Формат оголошення константного вказівника (вказівника-константи) такий: тип * const ім’я_вказівника ініціалізатор; Наприклад: double e = 2.72; Надалі в програмі можливе будь-яке змінення змінної pi, але змінити значення змінної Pt_const не вдасться. Так, якщо за допомогою оператора pi = 3.1415; здійснити задавання для змінної pi більш точного значення, то значенням виразу *Pt_const також буде число 3.1415. У той же час оператор *Pt_const = &e; діагностуватиметься компілятором як помилковий. Вказівник може посилатися на константу: тип const *ім’я_вказівника ініціалізатор; При такому визначенні можна змінювати значення вказівника, але неможливо за допомогою його розіменування виконати змінення вмісту ділянки пам’яті, на яку він посилається. Так, синтаксично правильними є такі оператори: const int ZERO=0, ONE=1; Тут вказівник по черзі посилається на різні константи. Однак оператор *p_to_const = 7; є синтаксично помилковим – він здійснює спробу змінити значення константи. Можливе також використання константних вказівників на константу: тип const * const ім’я_вказівника ініціалізатор; Тут перше слово const указує на те, що константою є значення, записане за адресою, на яку посилається вказівник при його ініціалізації, а друге слово const забороняє змінення самого вказівника. Звичайний вказівник може отримати адресу іменованої константи, але при цьому необхідно приведення типів: const int ZERO=0; Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.003 сек.) |