русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Короткі теоретичні відомості


Дата додавання: 2014-11-28; переглядів: 897.


Індексний запис і вказівники.Ім’я масиву без квадратних дужок – це вказівник на перший елемент масиву. Тому до першого елементу можна звертатися з допомогою операції посилання по вказівнику. Нехай описаний масив array[].Тоді вираз*arrayдасть його перший елемент, *(array +1) - другий і т. д. . Тоді можна записати такі співвідношення.

*(array)== array[0]

*(array +1) == array[1]

*(array +2) == array[2]

………………………………

*(array +n) == array[n]

Це зв’язок між зверненням до масиву по індексу і через операції з вказівниками.

Не можна використовувати не заданого (не ініціалізованого) вказівника в лівій частині оператора присвоєння.

Наприклад, описаний вказівник типу int

int *ptr;

Цей вказівник не ініціалізований, тому не вказує ні на що відоме. В неініціалізованих вказівниках є певне значення, тільки ми його не знаємо. В більшості випадків це 0. Нехай

*ptr=12;

Значення 12 поміститься по адресі ptr Ця адреса може відноситися до довільного місця в пам’яті, де розміщується операційна система, або сама програма. Значення 12 може затерти цінну інформацію і може привести до повного краху системи.

Обчислення зміщення і порівняння вказівників.Зміщення – це фактичне віднімання двох вказівників, Якщо є два вказівники на різні елементи одного масиву, то їх можна відняти один від одного і вияснити , на якій відстані вони знаходяться Адресна арифметика забезпечує автоматичне масштабування результату, і в підсумку відстань виражається в кількості елементів. Якщо ptr1 i ptr2 вказують на елементи одного і того масиву, то вираз ptr1-ptr2дає відстань між цими елементами.

Вказівники можна також порівнювати. Порівняння має сенс тільки для вказівників на один і той масив. При цьому виконуються операції порівняння = =, !=, <, >, >+, <+.

Молодші елементи масиву, тобто елементи з меншими індексами мають і менші адреси. Якщо ptr1 i ptr2 вказують на елементи одного і того масиву, то співвідношення ptr1<ptr2 істинне, коли ptr1вказує на елемент з меншим індексом, ніж ptr2. Множення і ділення над вказівниками не виконується.

 


<== попередня лекція | наступна лекція ==>
Методичні вказівки | Варіанти індивідуальни х завдань


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн