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

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]; — є цілком прийнятними.

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

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

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

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

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

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

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

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

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