متغيرهای محلی
متغيرهائی که درون تابع تعريف می شوند متغيرهای محلی (local variables) ناميده می شوند. محلی بر اين دلالت دارد که متغيرها تنها خاص تابع هستند و از متغيرهای هم نام در هر جای ديگر برنامه مجزا می باشند. تابع می تواند هر تغييری روی آنها بدهد بدون اينکه روی قسمت های ديگر برنامه اثر داشته باشد. متغيرهائی که خارج از هر بلاکی تعريف می شوند متغير های سراسری (global variables) ناميده می شوند و در کليه توابع قابل دسترسی هستند.

مثال. در برنامه زير متغير m سراسری است و توسط کليه توابع قابل دسترسی و تغيير است. درحاليکه دو متغير n از هم مستقل هستند و هرکدام تنها درون تابعی که اعلان شده اند تغيير می کنند.

#include <iostream.h>
int m;        // M is a global variable
int f(int n) {
   n++;
   return n;
}
int g() {
   m++;
   return m;
}
int main() {
   int n = 5;
   cout << "n = " << n << "\n";
   cout << "f(n) = " << f(n) << "\n";
   cout << "n = " << n << "\n";
   m = 5;
   cout << "m = " << m << "\n";
   cout << "g() = " << g() << "\n";
   cout << "m = " << m << "\n";
}