Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗cpPmScMn 299 of 390 menu
◀ ▶

Переменные main в C++

Переменная, объявленная в main, не видна внутри функции. Давайте посмотрим на примере. Пусть у нас есть следующая переменная:

int main() { int num = 1; return 0; }

Попытаемся вывести эту переменную внутри функции:

void func() { std::cout << num << "\n"; // ошибка } int main() { int num = 1; func(); return 0; }

Это не то же самое, что переменная файла. Переменные, определенные снаружи функции и снаружи main, будут видны внутри этой функции. Такие переменные называются глобальными. Посмотрим на примере:

#include <iostream> int num = 1; // переменная снаружи функции void func() { std::cout << num << "\n"; // переменная num видна внутри функции } int main() { func(); // выведет 1 return 0; }

Учтите, что глобальная переменная будет меняться только в момент вызова функции. Если вызова функции нет - переменная не изменится:

#include <iostream> int num = 1; void func() { num = 2; // меняем внешнюю переменную std::cout << num << "\n"; } int main() { // func(); - закомментировали вызов функции std::cout << num << "\n"; // выведет 1 - переменная не поменялась return 0; }

А сейчас продемонстрируем кодом то, что глобальная переменная поменяется только после вызова функции:

#include <iostream> int num = 1; void func() { num = 2; } int main() { std::cout << num << "\n"; // выведет 1 func(); // меняем переменную std::cout << num << "\n"; // выведет 2 return 0; }

Расскажите, каким будет результат выполнения кода:

void func() { std::cout << aaa << "\n"; } int main() { int aaa = 111; func(); return 0; }

Определите, не запуская код, что выведется в консоль:

int num = 1; void func() { num = 2; } int main() { func(); std::cout << num << "\n"; return 0; }

Определите, не запуская код, что выведется в консоль:

int num = 1; void func() { num = 2; } int main() { std::cout << num << "\n"; return 0; }
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить