Локальні змінні доступні тільки у функції, а глобальні — доступні у всій програмі.
дальшого викладу дамо деякі означення.
Змінна — це абстрактна назва комірки чи декількох комірок пам'яті. Кожна змінна має шість атрибутів: ім'я,
адресу, значення, тип, область видимості і час життя.
Правила утворення імен чи ідентифікаторів, сформульовані в главі 1. Однак щоб виконувати над змінною
визначені дії, одного імені недостатньо. Необхідно знати, у якій області пам'яті вона розташована, а також
діапазон припустимих значень і набір передбачених операцій. Крім того, необхідно контролювати, чи доступна
змінна в конкретній точці програми.
Адреса змінної — це адреса комірки пам'яті, зв'язаної з даною змінною. Якщо змінна займає декілька
осередків, її адресою вважається адреса першого осередку. У різних місцях програми можуть існувати різні
змінні, що мають однакові імена, але різна адреси. Наприклад, якщо програма складається з двох функцій f1()
і f2(), у кожній з них можна визначити змінну, що має те саме ім'я, скажемо var. Це різні змінні, оскільки
вони зв'язані з різними функціями і відділені одна від одної невидимою стіною, що обмежує їхню область
видимості. Такі змінні називаються локальними. Вони з'являються усередині функцій чи окремих блоків.
Ось як виглядає оголошення локальної цілочисельної змінної var усередині функції f(), що не має жодних
аргументів і не повертає жодних значень.
void f()
{
int var;
…
}
змінна var існує тільки усередині функції f() і є недоступною ззовні. Вона виникає при вході у функцію і
зникає після виходу з неї.
Глобальні змінні доступні в будь-якій точці програми. Оголошення глобальної змінної повинне знаходитися
поза будь-якою функцією. Їхні імена також можуть збігатися з іменами локальних змінних (таке явище
називається маскуванням), але при цьому виникає конфлікт імен. Для його розв’язання існує особливий засіб —
оператор розв’язування області видимості ::. Глобальна змінна існує від моменту її оголошення і знищується
після завершення роботи програми.