LW1_ауд1_Оголошення та ініціалізація змінної-покажчика
Заняття 1. Оголошення та ініціалізація змінної-покажчика.
Мета роботи. Опанувати практичні навички розробки програм із використанням покажчиків у мові C: навчитися оголошувати та ініціалізувати покажчики, використовувати операції взяття адреси (&) і непрямого доступу (розіменування) (*), а також застосовувати покажчики під час роботи з масивами (доступ за індексом і через арифметику покажчиків).
Хід виконання роботи
Робота в аудиторії.
Завдання 1. Напишіть програму, яка послідовно виконує такі дії:
- Оголосити змінні дійсного типу
floatnumber1 (ініціалізувати значенням7.3) і number2. - Оголосити покажчик fPtr на тип
float. - Присвоїти покажчику fPtr адресу змінної number1.
- Вивести значення даних, на які посилається fPtr (
*fPtr). - Присвоїти значення
*fPtrзмінній number2. - Вивести значення number2.
- Вивести адресу number1 (
&number1). - Вивести адресу, збережену в покажчику fPtr (тобто значення
fPtr). - Вивести адресу самого покажчика fPtr (
&fPtr).
Завдання 2. Виконайте такі ді:
- Оголосіть масив цілих чисел
valuesіз 5 елементів і ініціалізуйте його парними числами від 2 до 10. - Оголосіть покажчик
ptrVнаint. - Виведіть елементи масиву
values, використовуючи доступ ім’я_масиву/індекс (values[i]). - Запишіть два варіанти операторів, якими можна присвоїти покажчику
ptrVпочаткову адресу масивуvalues. - Виведіть елементи масиву методом покажчик/зсув (
*(ptrV + i)). - Виведіть елементи масиву, використовуючи індекс із покажчиком (
ptrV[i]). - Виведіть адресу, на яку посилається вираз
ptrV + 3, та значення за цією адресою. - Присвоїть
ptrVадресу елементаvalues[4]і виведіть значення першого елемента масиву, використовуючиptrV.
Вправи та питання для самоперевірки
(виконати письмово)
1. Завершіть речення
- Покажчик – це змінна, яка як значення містить …
- Тільки три значення можуть використовуватися для ініціалізації покажчика…
- Єдине ціле число, яке може бути присвоєне покажчику – це…
2. Чи є наведені твердження вірними? Якщо твердження хибне – поясніть чому. Якщо твердження істинне – наведіть короткий приклад коду.
- Операція визначення адреси & може застосовуватися лише до констант, виразів та змінних, оголошених із специфікатором register.
□ Так
□ Ні
Пояснення (+приклад або контрприклад коду)
- З покажчиком на тип void можна використовувати непряме адресування (*).
□ Так
□ Ні
Пояснення (вказати, що саме дозволено, а що заборонено стандартом C)
- Покажчики на різні типи даних не можуть бути використані без операції приведення типів.
□ Так
□ Ні
Пояснення (+приклад із покажчиками на int, float, void)
3. Поясніть різницю (одним–двома реченнями)
- Чим відрізняються вирази
ptr,*ptrі&ptr? - Чому після виконання
ptr = values;можна звертатися доvalues[i]якptr[i]? -
Що означає вираз
ptr + 1для покажчика наint?При захисті роботи студенти відповідають на контрольні запитання, наведені в кінці кожної роботи.
Критерії оцінювання:
Виконання аудиторних завдань - 5 балів.
Шрифти
Розмір шрифта
Колір тексту
Колір тла
Кернінг шрифтів
Видимість картинок
Інтервал між літерами
Висота рядка
Виділити посилання
Вирівнювання тексту
Ширина абзацу