Презентация на тему: Вказівники

Реклама. Продолжение ниже
Вказівники
Вказівники
Вказівники
Вказівники
Вказівники
Вказівники
Вказівники
1/7
Средняя оценка: 4.3/5 (всего оценок: 81)
Код скопирован в буфер обмена
Скачать (63 Кб)
Реклама. Продолжение ниже
1

Первый слайд презентации: Вказівники

Основні відомості про вказівники. При компіляції програми всі імена змінних будуть перетворені в адреси комірок пам'яті, в яких містяться відповідні значення даних. У командах машинної програми знаходяться машинні адреси розміщення значень змінних. Саме це і є пряма адресація - виклик значення за адресою в команді. Наприклад, в операторі присвоювання: k = j на машинному рівні відбувається копіювання значення з області ОП, що відведена змінній j, в область ОП, яка відведена змінній k. На машинному рівні імена змінних у командах не використовуються, а тільки адреси, сформовані транслятором з використанням імен змінних. Проте програміст не має доступу до цих адрес, якщо він не використовує вказівники (покажчики).

Изображение слайда
1/1
2

Слайд 2

За допомогою вказівників можна: 1. обробляти одновимірні та багатовимірні масиви, символ ьні рядки, структури і масиви структур; 2. динамічно створювати нові змінні в процесі виконання програми; 3. обробляти зв'язані структури: стеки, черги, списки, дерева, мережі; 4. передавати функціям адреси фактичних параметрів та адреси функцій в якості параметрів. Використання вказівників вимагає від програміста особливої уваги. Вказівник (або покажчик) – особливий тип даних, значенням якого є адреса певного байта оперативної памяті. Значення покажчика - це беззнакове ціле, воно повідомляє, де розміщена змінна, і нічого не говорить про саму змінну.

Изображение слайда
1/1
3

Слайд 3

Вказівники можуть бути: - константними, зберігають незмінну адресу ділянки ОП (такими є імена масивів і символьних рядків); - змінними, їм можна надавати значення адрес різних ділянок ОП. Оголошення вказівників. Змінна типу вказівник оголошується подібно звичайним змінним із застосуванням унарного символу " * ". Форма оголошення наступна:          тип * ім ’ я вказ і вника ; де тип - найменування типу змінної, адресу якої буде містити змінна- вказівник (на яку він буде вказувати). Вказівник містить адресу першого байту змінної визначеного типу. Тип змінної, що адресується, і на яку посилається вказівник, визначає об'єм ОП, що виділяється змінній, та зв'язаному з нею вказівнику.

Изображение слайда
1/1
4

Слайд 4

Приклад: char *pc; float *pf; int ml [5]; /* - ім'я масиву на 5 значень типу int; ml - покажчик-константа */ Константа NULL зі стандартного файлу stdio.h призначена для ініціалізації вказівників нульовим (незайнятим) значенням адреси. Базові операції. Унарні операції & та *. Призначення цих операцій:         & ім'я змінної - одержання адреси; визначає адресу розміщення значення змінної визначеного типу;         * ім'я-вказівника - отримання значення визначеного типу за вказаною адресою; визначає вміст змінної, розміщеної за адресою, що міститься у даному покажчику; це - непряма адресація (інші назви - "зняття значення за вказівником" або "розіменування" ).

Изображение слайда
1/1
5

Слайд 5

Оператор присвоювання значення адреси вказівнику має вигляд:          Ім'я_змінної_вказівник = & ім'я змінної; int i, *pi; /* pi -змінна вказівник*/ pi = &i; /* pi одержує значення адреси 'i' */        Операція & - визначення адреси змінної повертає адресу ОП свого операнда. Операндом операції & повинне бути ім'я змінної того ж типу, для якого визначений вказівник лівої частини оператора присвоювання, що одержує значення цієї адреси. Операнд операції * обов'язково повинен бути типу вказівник. Результат операції * - це значення, на яке вказує (адресує, посилається) операнд. Тип результату - це тип, визначений при оголошенні вказівника. i= *pi; /* ' i ' одержує значення, розташоване за адресою, що міститься в покажчику ' pi ' */

Изображение слайда
1/1
6

Слайд 6

Одне з основних співвідношень при роботі з вказівниками - це симетричність операцій адресації та непрямої адресації. Вона полягає в тому, що: *&х == х, тобто вміст за адресою змінної х є значення х. Адресна арифметика. Над вказівниками можна виконувати всі операції порівняння. Приклад: int *pc, *pnew; if ( pc==pnew ) pc= NULL; Виконання операцій <, <=, >, >= доцільно в випадку, коли вказівники посилаються на елементи одного масиву.

Изображение слайда
1/1
7

Последний слайд презентации: Вказівники

До значення вказівника можна додавати (чи віднімати ) довільне ціле число: p=p + k. Результатом буде збільшена на k*sizeof ( базовий тип вказівника p ) нова адреса. Величина, яка додається до значення вказівника (чи віднімається) є кратною розміру об ’ єкта. Можна використовувати інкремент p++ декремент p-- комбіноване присвоєння p+=10. Нетипізовані вказівники: void *p; Сумісний з усіма вказівниками програми та адресами усіх об ’ єктів.

Изображение слайда
1/1
Реклама. Продолжение ниже
Реклама. Продолжение ниже