C/C++. Обращение к глобальным и локальным переменным

Не буду многословен. Для прямого обращения к глобальной переменной можно воспользоваться оператором расширения области видимости переменной variable:

::variable;

Соотвественно, для локальной переменной - по адресу.

some_function(&variable);

Ниже приведен примерчик для нагядности слов :)

#include <iostream>
using namespace std;
// Глобальная инициализация
// Глобальная переменная
int n = 100;
void glob() {
 ::n++;
}
void loc(int *n) {
 (*n)++;
}
int main() {
 // Локальная инициализация
 char temp;
 // Локальная переменная
 int n = 16;

 // ...до изменения переменных
 cout << "Global var before: n = " << ::n << "\n";
 cout << "Local var before: n = " << n << "\n";

 // Обращаемся к глобальной переменной и меняем ее
 glob();
 // Обращаемся к локальной переменной и также меняем ее
 loc(&n);
 // ...после изменения переменных
 cout << "Global var after: n = " << ::n << "\n";
 cout << "Local var after: n = " << n << "\n";
 // задержка...
 cin >> temp;
}

В итоге имеем:
 
Ура, все работает.