Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ООП_Лаб_Гриф.doc
Скачиваний:
7
Добавлен:
14.11.2019
Размер:
2.81 Mб
Скачать

7.4 Питання для контролю і самостійної роботи

  1. Поясніть синтаксис оголошення, визначення і виклику функції.

  2. Чи завжди останнім оператором функції повинний бути оператор return?

  3. Як називається передана у функцію локальна перемінна – аргумент чи параметр ?

  4. Які типи перемінних завжди передаються за адресою ?

  5. Які типи перемінних можна передати у функцію за значенням ?

  6. Якщо перемінна передається у функцію №2 за значенням і там змінюється, чи буде змінена перемінна у функції №1, яка її визвала ?

  7. Якщо перемінна передається у функцію №2 за адресою чи за посиланням і там змінюється, чи буде змінена перемінна у функції №1, яка її визвала ?

  8. Як оголосити тип значення, що повертається функцією ?

  9. Який тип значення, що повертається, використовується за умовчанням ?

  10. У чому різниця між оголошенням та визначенням функцій ?

  11. Де розміщується оголошення і визначення функцій ?

  12. Де розміщується оголошення і визначення бібліотечних функцій ?

  13. У чому різниця між формальними і фактичними параметрами ?

  14. У чому різниця між звичайними і inline функціями ?

  15. Чи має ім'я функції тип і який це тип ?

  16. Які класи пам'яті використовуються при оголошенні функції ?

  17. Який клас пам'яті функцій використовується за умовчанням ?

  18. Як вставити файл оголошення бібліотечних функцій у програму ?

8 Заняття № 8

Розробка програм з покажчиками

(2 години)

Ціль роботи: вивчити конструкції й оператори мови С для роботи з покажчиками, навчитися правильно застосовувати покажчики.

8.1 Теоретичні відомості

Самим могутнім інструментом у С, безумовно, є покажчики (pointers), і для того, щоб навчитися програмувати у С, необхідно опанувати умінням використовувати ці покажчики.

За допомогою покажчиків у С можна: одержувати доступ до адрес пам'яті об'єктів і маніпулювати з ними, будувати одномірні, двовимірні і багатомірні масиви, створювати динамічні структури даних, покажчики допомагають передавати масиви, структури і функції в інші функції і т.д.

Розглянемо основні поняття і принципи роботи з покажчиками. Покажчик - це адреса пам'яті, розподіленої для іншої перемінної заданого типу. Значення покажчика повідомляє про те, де розташований об'єкт даних, але не говорить про його вміст.

Синтаксис оголошення покажчиків:

Тип * Ім'я_покажчика

Читається даний запис так:

Ім'я_покажчика є покажчиком на Тип. Символ «*» (зірочка) говорить про те, що приведена перемінна є покажчиком на заданий тип.

Приклад

int * x; //x - це покажчик на тип int (цілий тип)

Таким чином, можна оголосити покажчик на будь-який тип: стандартний чи створений користувачем, у тому числі може бути оголошений покажчик на покажчик, на будь-який тип - void. Покажчик на тип void може бути перетворений у покажчик будь-якого іншого типу.

Приклади припустимих виразів з покажчиками:

int *x;

void *y;

y = x;

(float *) y;

Розмір покажчика, тобто розмір ділянки пам'яті, відведеної під адресу, залежить від моделі пам'яті, у якій пишеться програма. Відзначимо їхню назву і вкажемо розмір покажчиків у байтах: малюсінька (2 байти), маленька (2), середня (4), компактна (4), велика (4), величезна (4).

Для вказівки розміру покажчика використовують модифікатори:

near (2 байти), far (4 байти), huge (4 байти).

Покажчик може використовуватися як константний, котрий зв'язаний з однією постійною адресою пам'яті. Покажчик може бути зв'язаний і з константами. Можливо також використання константного покажчика на константний тип:

float const ptr; // Константний покажчик

const float ptr; // Покажчик на константний тип

сonst float сonst ptr;