🗊 Презентация Вказівники та посилання. Динамічні масиви

Нажмите для полного просмотра!
Вказівники та посилання. Динамічні масиви, слайд №1 Вказівники та посилання. Динамічні масиви, слайд №2 Вказівники та посилання. Динамічні масиви, слайд №3 Вказівники та посилання. Динамічні масиви, слайд №4 Вказівники та посилання. Динамічні масиви, слайд №5 Вказівники та посилання. Динамічні масиви, слайд №6 Вказівники та посилання. Динамічні масиви, слайд №7 Вказівники та посилання. Динамічні масиви, слайд №8 Вказівники та посилання. Динамічні масиви, слайд №9 Вказівники та посилання. Динамічні масиви, слайд №10 Вказівники та посилання. Динамічні масиви, слайд №11 Вказівники та посилання. Динамічні масиви, слайд №12 Вказівники та посилання. Динамічні масиви, слайд №13 Вказівники та посилання. Динамічні масиви, слайд №14 Вказівники та посилання. Динамічні масиви, слайд №15 Вказівники та посилання. Динамічні масиви, слайд №16 Вказівники та посилання. Динамічні масиви, слайд №17 Вказівники та посилання. Динамічні масиви, слайд №18

Вы можете ознакомиться и скачать презентацию на тему Вказівники та посилання. Динамічні масиви. Доклад-сообщение содержит 18 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1


Лекція №7. Вказівники та посилання. Динамічні масиви ПРОГРАМУВАННЯ ТА ПРИКЛАДНІ ІНФОРМАЦІЙНІ СИСТЕМИ
Описание слайда:
Лекція №7. Вказівники та посилання. Динамічні масиви ПРОГРАМУВАННЯ ТА ПРИКЛАДНІ ІНФОРМАЦІЙНІ СИСТЕМИ

Слайд 2


Вказівник Вказівники – це змінні, значеннями яких є адреси пам’яті. Якщо змінна безпосередньо посилається на своє значення, то вказівник посилається...
Описание слайда:
Вказівник Вказівники – це змінні, значеннями яких є адреси пам’яті. Якщо змінна безпосередньо посилається на своє значення, то вказівник посилається на значення змінної не безпосередньо або непрямо. Він тільки володіє значенням пам’яті імені відповідної йому змінної. Посилання на значення змінної через вказівник називається непрямою адресацією. Вказівники, перед тим як будуть використовуватися в ході програми, повинні бути визначені. Опис змінних типу вказівник здійснюється за допомогою операторів наступної форми: *

Слайд 3


Опис вказівників Приклад 1. Опис вказівників. char *ptrc; //вказівник на змінну символьного типу float *ptrf; //вказівник на змінну з плаваючою...
Описание слайда:
Опис вказівників Приклад 1. Опис вказівників. char *ptrc; //вказівник на змінну символьного типу float *ptrf; //вказівник на змінну з плаваючою точкою int *countPtr, count; Такий спосіб оголошення вказівників виник внаслідок того, що змінні різних типів займають різну кількість комірок пам'яті. При цьому для деяких операцій з вказівниками необхідно знати об'єм відведеної пам'яті. Операція * в деякому розумінні є оберненою до операції &. Спочатку вказівник ініціалізується нульом, або макросом NULL, який знаходиться в директиві процесора стандартної бібліотеки С - , яка включається в інші директиви, наприклад: в директиву .

Слайд 4


Змінні типу вказівник В мові С++ є операція визначення адреси — &, за допомогою якої визначається адреса комірки пам’яті, що містить задану змінну....
Описание слайда:
Змінні типу вказівник В мові С++ є операція визначення адреси — &, за допомогою якої визначається адреса комірки пам’яті, що містить задану змінну. Наприклад, якщо vr — ім’я змінної, то &vr — адреса цієї змінної В С++ також існують і змінні типу вказівник. Значенням змінної типу вказівник є адреса змінної або об'єкта. Нехай змінна типу вказівник має ім'я ptr, тоді в якості значення їй можна присвоїти адресу за допомогою наступного оператора: ptr=&vr; В мові С++ при роботі з вказівниками велике значення має операція непрямої адресації — *. Операція * дозволяє звертатися до змінної не напряму, а через вказівник, який містить адресу цієї змінної. Нехай ptr — вказівник, тоді *ptr — це значення змінної, на яку вказує ptr.

Слайд 5


Змінні типу вказівник для типу Т тип Т* - вказівник на Т змінна Т* містить адресу об’єкту Т int k=5; int *p = &k;
Описание слайда:
Змінні типу вказівник для типу Т тип Т* - вказівник на Т змінна Т* містить адресу об’єкту Т int k=5; int *p = &k;

Слайд 6


Розіменування вказівника int *a // оголошення змінної типу вказівник *a=4 // розіменування вказівника Приклад 2.
Описание слайда:
Розіменування вказівника int *a // оголошення змінної типу вказівник *a=4 // розіменування вказівника Приклад 2.

Слайд 7


Посилання Посилання (reference) являє собою видозмінену форму вказівника, яка використовується в якості псевдоніму (другого імені) змінної. У зв’язку...
Описание слайда:
Посилання Посилання (reference) являє собою видозмінену форму вказівника, яка використовується в якості псевдоніму (другого імені) змінної. У зв’язку з цим посилання не потребують додаткової пам’яті. Для визначення посилання використовують символ & (амперсант), який ставиться перед змінною-посиланням.

Слайд 8


Приклад 3. Використання посилань.
Описание слайда:
Приклад 3. Використання посилань.

Слайд 9


Вказівники та масиви Вказівники використовуються для роботи з масивами. розглянемо оголошення одномірного масиву: int mas[5]; int *ptr; Тоді вираз...
Описание слайда:
Вказівники та масиви Вказівники використовуються для роботи з масивами. розглянемо оголошення одномірного масиву: int mas[5]; int *ptr; Тоді вираз ptr=mas вказує на перший елемент масиву. Записи mas і &mаs[0] рівносильні. Вираз ptr+1 вказує на mas[1], далі йдуть елементи: mas[2], mas[3], mas[4].

Слайд 10


Розміщення двовимірного масиву в пам’яті Двовимірні масиви розташовані в пам’яті так само, як і одновимірні масиви, займаючи послідовні комірки...
Описание слайда:
Розміщення двовимірного масиву в пам’яті Двовимірні масиви розташовані в пам’яті так само, як і одновимірні масиви, займаючи послідовні комірки пам’яті. int mas[4][2]; int *ptr;

Слайд 11


Приклад 4. Ініціалізація масива через вказівник
Описание слайда:
Приклад 4. Ініціалізація масива через вказівник

Слайд 12


Динамічне виділення пам'яті Всі об'єкти в С++ можуть розміщатися в пам'яті або статично – пам'ять виділяється під час компіляції, або динамічно – під...
Описание слайда:
Динамічне виділення пам'яті Всі об'єкти в С++ можуть розміщатися в пам'яті або статично – пам'ять виділяється під час компіляції, або динамічно – під час виконання програми, за допомогою виклику функцій із стандартної бібліотеки. Статичне розміщення більш ефективне, оскільки виділення пам'яті відбувається до виконання програми, однак воно не є гнучким, оскільки ми повинні заздалегідь знати тип і розмір об'єкту. Основні відмінності між статичними і динамічними об'єктами такі: статичні об'єкти визначаються іменованими змінними, і дії над цими змінними проводяться напряму, з використанням їх імен. Динамічні об'єкти не мають власних імен і дії над ними виконуються за допомогою вказівників. виділення і звільнення пам'яті під статичними об'єктами виконується компілятором автоматично. Виділення і звільнення пам'яті під динамічні об'єкти цілком залежить від програміста. Ця задача досить складна і під час цього виникають помилки. Для динамічного виділення пам'яті існують оператори new і delete.

Слайд 13


Оператор new int *ptr_int = new int(1024); Тут оператор new виділяє пам'ять під безіменний об'єкт типу int і ініціалізує його значенням 1024 і...
Описание слайда:
Оператор new int *ptr_int = new int(1024); Тут оператор new виділяє пам'ять під безіменний об'єкт типу int і ініціалізує його значенням 1024 і повертає адресу створеного об'єкта. Ця адреса використовується для ініціалізації вказівника ptr_int. Всі дії над таким об'єктом виконуються шляхом розіменування даного вказівника, оскільки явно проводити операції з динамічним об'єктом не можна.

Слайд 14


Динамічні масиви Динамічним називається масив, розмірність якого стає відомою в процесі виконання програми.
Описание слайда:
Динамічні масиви Динамічним називається масив, розмірність якого стає відомою в процесі виконання програми.

Слайд 15


Приклад 5. Виділення пам’яті під динамічний масив. Нехай розмірність динамічного масиву вводиться з клавіатури. Спочатку необхідно виділити пам’ять...
Описание слайда:
Приклад 5. Виділення пам’яті під динамічний масив. Нехай розмірність динамічного масиву вводиться з клавіатури. Спочатку необхідно виділити пам’ять під цей масив, а потім створений динамічний масив треба видалити. … int n; cin>>n; // n — розмірність масиву int *mas=new int[n]; // виділення пам’яті під масив delete [] mas; // звільнення пам’яті … В цьому прикладі mas є вказівником на масив з n елементів. Оператор int *mas=new int[n] виконує дві дії: оголошується змінна типу вказівник, далі вказівнику надається адреса виділеної області пам’яті у відповідності з заданим типом об’єкта. Якщо за допомогою операції new неможливо виділити потрібний об’єм пам’яті, то результатом операції new є 0.

Слайд 16


Приклад 6. Вивести на екран масив із заданою кількістю елементів.
Описание слайда:
Приклад 6. Вивести на екран масив із заданою кількістю елементів.

Слайд 17


Багатовимірні динамічні об’єкти Іноді при програмуванні виникає необхідність створення багатовимірних динамічних об’єктів. Програмісти-початківці за...
Описание слайда:
Багатовимірні динамічні об’єкти Іноді при програмуванні виникає необхідність створення багатовимірних динамічних об’єктів. Програмісти-початківці за аналогією з поданим способом створення одновимірних динамічних масивів для двовимірного динамічного масиву розмірності n*k запишуть наступне mas=new int[n][k]; // Невірно! Помилка! Такий спосіб виділення пам’яті не дасть вірного результату.

Слайд 18


Приклад 5. Створення двовимірного масиву.
Описание слайда:
Приклад 5. Створення двовимірного масиву.



Похожие презентации
Mypresentation.ru
Загрузить презентацию