1.4 Контрольні питання
1. Як ввести початкові значення змінних.
2. Яке місце розташування операторів опису типу в програмі.
3. Які форми подання чисел у С++.
4. Яка послідовність виконання операцій у виразах.
5. Що розуміється під терміном « тіло циклу».
6. Якого типу можуть бути мітки в операторі switch.
7. Які існують форми запису умовного оператора.
2 РІШЕННЯ ЗАДАЧ З ВИКОРИСТАННЯМ ВЕКТОРІВ
2.1 Мета роботи
Засвоєння засобів роботи з векторами на мові С++; отримання навичок роботи з покажчиками.
2.2 Підготовка до роботи
При підготовці до роботи слідує вивчити засоби організації користувальчих типів. Необхідно ознайомитися з основними типами даних «Покажчик», «Вектор», а також навчитися використати змінні типу «Заслання» [1, с. 75-90; 2, ç. 89-96; конспект лекцій].
ПОКАЖЧИКИ. Покажчики - особливий тип даних, що призначений для зберігання адреси в пам'яті. В мові C визначено два вигляди покажчиків: покажчики на об'єкт без певного типу - void*; покажчики на об'єкти певного типу.
Покажчики на об'єкти певного типу бувають також двох виглядів: покажчики константи і покажчики змінні. Покажчики змінні визначаються в операторах оголошення з допомогою символа “”, що розташован перед ідентифікатором покажчика. Наприклад:
int*p;
long a, *c;,
де int* - тип покажчик на деяку змінну типу int; p - ідентифікатор покажчика на змінну; c - ідентифікатор покажчика на деяку змінну типу (long*).
Ініціалізація покажчика виконується за допомогою оператора вилучення адреси - “&”. Так якщо в тілі програми зустрівся оператор оголошення “long L;”, тоді використання оператора - &L дасть у результаті адресу розміщеного в пам'яті значення змінної L. Ініціалізація покажчиків може бути виконана в розділі оператора оголошення
long L, *a=&L, G, *p;//a вказує на L.
p=&G;//p вказує на G
Відзначимо, що використання покажчика в тілі програми виробляється без використання символу “”. Оскільки допустимий діапазон значень будь-якого покажчика включає спеціальну адресу 0 і набір додатних цілих чисел, що інтерпретуються як машинні адреси, то допускається ініціалізація покажчиків з використанням символічних констант. Наприклад:
Long L, *a=&L, b, *p, *pt= (Long*) 300;
Де покажчик pt одержує початкове значення 300. Використання символічних констант допустимо і в тілі програми. Наприклад:
long L, *a=&L, b, *p, *pt= (long*) 300;
p= (long*) 400;//покажчик p має значення 400.
Особливе місце займає покажчик, значення якого дорівнює 0 - null. Цей покажчик використовується в якості спеціального прапора умови. Наприклад: при роботі з динамічними змінними вичерпана вільна пам'ять; кінець динамічної структури даних (списку, стека, дерева). Слідує знати, що оскільки покажчик-змінна теж має адресу, то можлива організація побічної адресації (в покажчикові зберігається адреса іншого покажчика на яку-небудь змінну). Наприклад:
long L, *p, *a=&L;
p= (long*) &a;//p зберігає адресу покажчика a на змінну L.
При роботі з покажчиками, часто використовується операція взяття адреси-“&“. Тому необхідно знати, якщо навіть вони і очевидні, обмеження накладені на цю операцію. Ці обмеження наступні: не можна визначити адресу символічної константи; не можна визначити адресу арифметичного виразу; не можна визначити адресу змінної, описаної як register.
Операція разіменування - одномісна операція (‘*’) з тим же пріоритетом і асоціативністю праворуч наліво, що і інші одномісні операції. Сенс цієї операції полягає в переході від покажчика до значення на що він вказує. Таким чином, якщо в програмі є оголошення
int a, *p;//p - покажчик на int
a=1;
.........
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.