Змінні, які оголошуються усередині функції, називаються локальними. Їх можуть використовувати тільки настанови, що належать тілу цієї функції. Локальні змінні, оголошені в одній функції, невідомі жодним зовнішнім функціям.
У мові програмування C++ локальні змінні створюються під час виклику функції та руйнуються при виході з неї. Те саме можна сказати і про пам'ять, що виділяється для локальних змінних: під час виклику функції в неї записуються відповідні значення, а при виході з функції пам'ять звільняється. Це означає, що локальні змінні не підтримують своїх значень між викликами функцій.
У деяких літературних джерелах, присвячених мові програмування C++, локальна змінна називається динамічною або автоматичною змінною.
Щоб наділити змінну "всепрограмною" популярністю, її необхідно зробити глобальною. На відміну від локальних, глобальні змінні зберігають свої значення протягом всього часу життя (часу існування) програми. Щоби створити глобальну змінну, її необхідно оголосити поза всіма функціями. Доступ до глобальної змінної можна отримати з будь-якої функції.
#include <iostream.h> // Потокове введення-виведення
void Fun1(); // Попереднє оголошення прототипу функції Fun1()
void Fun2(); // Попереднє оголошення прототипу функції Fun2()
int pm; // Це глобальна змінна.
int main()
{
int i; // Це локальна змінна.
for(i=0; i<10; i++) {
pm = i * 2;
……………………
}