русс | укр

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

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


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


Вказівники.


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


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

<тип даного> * <назва вказівника>;

Можна створювати вказівники на сталі, змінні, функції, інші вказівники тощо. Особливо ефективною є робота з вказівниками на рядки та масиви.

Надати значення вказівникам можна так:

<назва вказівника> = <адреса змінної>;

Приклад 5. Нехай маємо наступний фрагмент програми:

int main()

{

int *nomer;___________________________________________________________

float *rist, *prtA;______________________________________________________

int n = 10;____________________________________________________________

float stud1=34.9, stud2, stud3;___________________________________________

nomer = &n;_________________________________________________________

prtA = &stud1;________________________________________________________

cout << "nomer = " << nomer << "\n";_____________________________________

cout << "stud1= " <<*prtA<< "\n";________________________________________

rist = &stud2;_________________________________________________________

*rist = 1.65;__________________________________________________________

cout << "stud2= " << stud2;_____________________________________________

getch();______________________________________________________________

}

Отримаємо наступний результат:

Приклад 6.Обчислити довжини (в байтах) вказівників на різні типи даних можна так:

int *prt_i; double *prt_d; char *ptr_c;

cout << "\n na tsiliy tip = " << sizeof(prt_i);

cout << "\n na diusniu tip = " << sizeof(prt_d);

cout << "\n na simvolniu tip = " << sizeof(ptr_c);

Отримаємо:

Вказівники можна переадресовувати.

Сталий вказівник, що вказуватимемо на одну і ту ж адресу, оголошують так:

const int*rik;

Для вказівників залежно від операційної системи та версії компілятора резервується 2 або 4 байти в оперативній пам’яті.

Таблиця 6. Операції, визначені над вказівниками

Операція Приклади і пояснення
==, !=, >=, <=, >, < Порівнює значення двох вказівників (адреси, на які вони вказують). Наприклад, якщо вказівники вказують на одне і те ж саме дане, то результатом порівняння vk1 == vk2 беде істина, інакше – хибність.
- vk1 - vk2. Використовується для визначення кількості елементів, які наявні між двома вказівниками.
+, - vk1 + k, vk1 – k. Знаходить вказівник, який зміщений відносно даного на k одиниць.

 


<== попередня лекція | наступна лекція ==>
Адреси даних. | Динамічна пам’ять. Команди new і delete.


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