Програмування С, С++теорія та практика (частина 1)
1.17.1 Описи з модифікаторами
Використання в оголошеннях спеціальних ключових слів (модифікаторів) дозволяють надавати оголошенням спеціального змісту. Інформація, яку несуть в собі модифікатори, використовуються компілятором мови Сі в процесі генерування коду.
Розглянемо правила інтерпретації оголошень, що містять модифікатори соті, уоіаіііе, сіїесї, разсаї, пеаг, /аг, киде, іпіеггирі.
Модифікатори сіїесї, разсаї, іпіеггирі повинні розташовуватися безпосередньо перед ідентифікатором.
Модифікатори соті, уоїаііїе, пеаг, /аг, киде впливають або на ідентифікатор, або на ознаку покажчика (зірочку), що розташована безпосередньо справа від модифікатора. Якщо справа розташований ідентифікатор, то модифікується тип об’єкта, що іменується даним ідентифікатором. Якщо ж справа розташована зірочка, то ця зірочка представляє собою покажчик на модифікований тип. Таким чином, конструкція
модифікатор *
читається як „покажчик на модифікований тип”.
Наприклад,
іп£ сопз£ *р; /* покажчик на цілу константу */
іп£ *сопз£ р; /* константний покажчик на величину типу
іп£ */
Модифікатори типу соті і уоїаііїе можуть також розташовуватися і перед специфікацією типу.
В ТС використання модифікаторів пеаг, /аг, киде обмежене: вони можуть бути записані тільки перед ідентифікатором функції або перед ознакою покажчика (зірочкою).
Допускається більше одного модифікатора для одного об’єкта (або елемента оголошення). В наступному прикладі тип функції /ипс модифікується одночасно спеціальними ключовими словами /аг і разсаї. Порядок ключових слів неважливий, тобто комбінації /аг рахсаі і рахсаі/аг мають однаковий зміст. іп£ £аг * разса1 £аг £ипс();
Тип значення, що повертається функцією /ипс, представляє собою покажчик на значення типу іпі. Тип цих значень модифікований спеціальним ключовим словом /аг.
Як і звичайно, в оголошенні можуть бути використані круглі дужки для зміни порядку його інтерпретації.
еИаг їаг * (їаг *деїіп{) (іпі їаг *);
і І \ Т І! т
7 6 2 1 3 5 4
Рис. 1.23. Порядок інтерпретації складного оголошення з модифікаторами
В даному прикладі наведене оголошення з різними варіантами розташування модифікатора /аг. Враховуючи правило, відповідно до якого модифікатор впливає на елемент оголошення, розташований справа від нього, можна інтерпретувати це оголошення наступним чином.
|
1. |
Ідентифікатор деґіпґ оголошений як |
|
2. |
покажчик на /аг |
|
3. |
функцію, що приймає |
|
4. |
один аргумент, який є покажчиком на /аг |
|
5. |
значення типу іпґ |
|
6. |
і повертає покажчик на /аг |
|
7. |
значення типу скаг |
12 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
Схожі підручники
- ВИГОТОВЛЕННЯ НЕМЕТАЛЕВИХ МІНЕРАЛЬНИХ ВИРОБІВ БУДІВЕЛЬНОГО ПРИЗНАЧЕННЯ ТА ТЕХНОЛОГІЇ БУДІВНИЦТВА
- Загальні питання з курсу Українська мова
- СЕМІНАРСЬКО-ПРАКТИЧНЕЗАНЯТТЯ з курсу Економіка Підприємства
- Управління проектами (частина 2)
- Цельная жизнь. Ключевые навыки для достижения ваших целей (онлайн)
- Прежде чем начать СВОЙ БИЗНЕС (онлайн)
