|
Тема: Вказівники, динамічні змінні й масиви
Мета:
Тип: Засвоєння нового матеріалу, розвиток навичок
Обладнання:
Епіграф “Напимание хороших программ требует ума, вкуса и терпения” /Б. Страуструп/
Хід уроку
№ | Етап уроку | Діяльність учителя | Діяльність учнів |
Організаційний момент | Оголошення теми та плану уроку. Мотивація. | Записують у зошит | |
Засвоєння нового матеріалу | Лекція з використанням презентації План: 1. Статичні та динамічні дані 2. Робота з динамічними даними 3. Приклади 4. Завдання | Конспектування Розібрати дію кожного оператора | |
Виконання тренувальних вправ | Спостереження. Надання допомоги в разі необхідності. | Реалізувати будь-яку програму з прикладів | |
Закріплення | Розібрати завдання слайду № 9 Якщо вистачає часу – картки “Одновимірні масиви” реалізувати з використанням динамічного масиву | Занотувати. Складання та реалізація програм | |
Домашнє завдання | Розв’язати завдання слайду № 9 | Записати в зошит |
Теоретичний матеріал до уроку «Вказівники, динамічні змінні й масиви»
Статичні та динамічні дані
У С++ змінні можуть бути розміщені або статично – під час компіляції, або динамічно – під час виконання програм, шляхом виклику відповідних функцій зі стандартної бібліотеки.
Статичне розміщення більш ефективне, тому що виділення пам'яті відбувається до виконання програми, але ми повинні заздалегідь знати тип і розмір розташовуваної змінної.
Завдання, у яких потрібно зберігати й обробляти заздалегідь невідоме число елементів, зазвичай вимагають динамічного виділення пам'яті. Після того як потреба у динамічній змінній зникає, місце, яке вона займала, можна звільнити для інших динамічних об'єктів.
Робота з динамічними даними
Виділення динамічної пам'яті здійснюється операцією new. За допомогою new виділяється пам’ять, і адреса, з якої вона починається, заноситься у вказівник на потрібний тип:
1. int *n=new int;
2. int *m=new int (10);
У зразку 1 виконується виділення достатньої для розміщення величини типу int ділянки динамічної пам'яті й записує адресу початку цієї ділянки в змінну n. Пам’ять під саму змінну n виділяється на етапі компіляції.
У зразку 2, крім описаних вище дій, проводиться ініціалізація виділеної пам'яті значенням 10.
Робота з динамічними даними. Виділення динамічної пам'яті
3. int n=100;//розмірність масиву
float *p=new float [n];
У зразку 3 створюється динамічний масив, але p – не його ім'я, а вказівник, що зберігає адресу початку безперервної області динамічної пам'яті, достатньої для розміщення 100 елементів дійсного типу.
Увага! Динамічні масиви при створюванні ініціювати не можна, і вони не заповнюються нулями.
Доступ до елементів динамічного масиву здійснюється так само, як до статичного: p[5] або *(p+5)
Робота з динамічними даними. Звільнення динамічної пам'яті
Для звільнення пам'яті, виділеної за допомогою операції new, використовують операцію delete:
Дата добавления: 2015-07-11; просмотров: 98 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Урок № 26 | | | Урок № 30 |