Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
kolokvium-_programuvannya2.docx
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
103 Кб
Скачать
☆

15. Вкладені цикли. Оператори дочасного завершення циклу.

Цикл який описаний всередині іншого циклу називають вкладеним. Внутрішній цикл буде повністю виконуватися на кожній ітерації зовнішнього.

Оператори передчасного завершення циклу

Break – завершує роботу циклу;

Continue – завершує роботу одного витка циклу;

Return [<значення>] – завершує роботу функції, в якій він знаходиться. Якщо це функція main() , то завершується робота програми. Якщо функція має тип void, то цей оператор <значення> не повертає.

16.Тритипи вказівників у мові С++ та області їхнього використання.

Вказівники – це змінні, які містять незначення, а адресу деякого значення. Вказівник можна описати і проініціалізувати.

Опис:

<ім’ятипу> * <ім’явказівника>;

Ініціалізація:

<ім’явказівника> = &<ім’явжеописаноїзмінної>;

Наприклад:

int i =5;

int * p;

p = &i;

Тодіi = i+7 еквівалентне*p = *p+7.

Тут операція&повертає адресу змінної-оперенда i.

У мовіС++ є три типи вказівників:

  • Вказівник на змінну (об’єкт);

  • Вказівник на функцію;

  • Вказівник на void.

У С++ вказівник не є самостійним типом. Він пов’язаний зі ншим конкретним типом даних.

Вказівник на функцію містить адресу комірки пам’яті, у якій знаходиться перший виконуваний оператор функції–адрес у точки входу в функцію.

У вказівнику на void можна урізні моменти роботи програми зберігати адреси змінних різних типів.

Також можна описувати вказівник на вказівник. Вказівник може бути константою або змінною.

17.Поясніть операції з вказівниками і способи ініціалізації вказівників.

Є такі операції із вказівниками:

  • розадресування (опосередковане звертання до змінної звикористанням +

  • присвоєння вказівнику значення (або NULL);

  • додавання/віднімання константи;

  • інкремент (++) або декремент (--);

  • порівняння;

  • приведення типів;

Способи ініціалізації:

  • за допомогою операції&одержання адреси;

  • шляхом присвоєння вказівнику значення іншого вказівника;

  • за допомогою імені масиву або функції, яке трактується як адреса;

  • шляхом присвоєння вказівнику адреси у явній шістнадцятковій формі;

  • шляхом використання операції С++ New:

int*ip = newint; // виділення 4 бітів у динамічній пам’ятті;

int*iq = newint(5); // виділення 4 бітів удинамічній пам’ятті за заповнення їх цілим числом 5.

Знак&уС++ використовують у двох ролях:

  • взяття адреси;

  • для створення посилань.

Звільнення пам’яті, виділеної операцією new, здійснює операція delete.

Наприклад: deleteip; delete []im;

  1. Посилання та правила їхнього використання.

Посилання (references) – (синонім імені змінної) - аналог вказівника, який при оголошенні зразу ж ініціалізують.

  • Оголошення посилання:

<ім’я типу>&<ім’я посилання>;

Наприклад:

int i;

int&j=I;

Посилання j є альтернативним іменем і.

На відміну від вказівників, посилання не може бути константним саме по-собі, однак може посилатися на константний об'єкт.

Наприклад: 

Int const&const ref = a[3]; 

На відміну від int const * const ref = &a[3]; — є некоректним, з точки зору С++, виразом; всвою чергу, і int const&ref = a[3];,і int const * ref = &a[3]; — є цілком прийнятними.

  • Правила використання:

  • Змінну-посилання необхідно ініціалізувати зразу ж при

  • її оголошенні.

  • Після цього змінній-посиланню не можна присвоїти значення іншої змінної.

  • Тип посилання повинен співпадати з типом змінної, на яку вона посилається.

  • Не можна визначити вказівник на посилання і посилання на вказівник.

  • Не можна створювати масиви посилань.

Посилання застосовують у ролі параметрів функцій для передавання змінних не за значенням, а за їх адресами. Посилання, на відміну від вказівника, не займає місця в пам’яті.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]