Ідея вказівників нам вже знайома з вивчення ООП у Паскалі. Кожен байт пам’яті має адресу. Завантажуючись в пам’ять, наша програма займає якусь кількість цих адрес. Це означає, що кожна змінна і кожна функція нашої програми починається з якоїсь конкретної адреси.
Операція одержання адреси &
Ми можемо одержати адресу змінної, використовуючи операцію одержання адреси &. Розглянемо невеличку програму 12.1, що показує, як це зробити.
#include<iostream.h>
#include<conio.h>
#include<stdio.h>
#include<bios.h>
int main()
{clrscr();
int var1=11;
int var2=22;
int var3=33;
cout<<&var1<<endl;
cout<<&var2<<endl;
cout<<&var3<<endl;
bioskey(0);
return 0;
}
Програма 12.1
В цій простій програмі визначені три цілочисельні змінні, ініціалізовані значеннями 11, 22 і 33. Ми виводимо на екран адреси цих змінних.
Реальні адреси, зайняті змінними в програмі, залежать від багатьох факторів таких як комп’ютер, на якому запущена програма, розмір оперативної пам’яті, наявність іншої програми та ін. Тому в різних користувачів програма 12.1 даватиме різні результати і навіть у того самого користувача при різних запусках програми результати будуть різними.