Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> Язык C

Область видимости переменных в C++: локальные и глобальные

Область видимости — это область программы. Существует три места, где можно объявлять переменные:

Функции и их параметры рассмотрим позже. Здесь объясним локальные и глобальные переменные.

Локальные переменные

Переменные, объявленные внутри функции или блока, являются локальными. Их можно использовать только операторами внутри этой функции или блока. Локальные переменные неизвестны функциям вне своей области. Пример:

Live Demo
#include <iostream>
using namespace std;
int main() {
    // Объявление локальных переменных:
    int a, b;
    int c;
    // фактическая инициализация
    a = 10;
    b = 20;
    c = a + b;
    cout << c;
    return 0;
}

Глобальные переменные

Глобальные переменные определяются вне всех функций, обычно в начале программы. Они сохраняют своё значение на протяжении всего времени жизни программы.

К глобальной переменной имеет доступ любая функция. То есть глобальная переменная доступна во всей программе после её объявления. Пример с глобальными и локальными переменными:

Live Demo
#include <iostream>
using namespace std;
// Объявление глобальной переменной:
int g;
int main() {
    // Объявление локальных переменных:
    int a, b;
    // фактическая инициализация
    a = 10;
    b = 20;
    g = a + b;
    cout << g;
    return 0;
}

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

Live Demo
#include <iostream>
using namespace std;
// Глобальная переменная:
int g = 20;
int main() {
    // Локальная переменная:
    int g = 10;
    cout << g;
    return 0;
}

Результат компиляции и выполнения:

10

Инициализация локальных и глобальных переменных

При определении локальной переменной она не инициализируется системой — нужно инициализировать самостоятельно. Глобальные переменные инициализируются системой автоматически при определении:

Тип данныхИнициализатор
int0
char'\0'
float0
double0
указательNULL

Хорошей практикой является правильная инициализация переменных, иначе программа может давать неожиданные результаты.

Язык C

  1. Мастерство C# переменных и примитивных типов данных: полное руководство
  2. Область видимости переменных в C#: класс, метод и блок
  3. Освоение переменных, литералов и констант в C++: подробное руководство
  4. Освоение операторов C++: полное руководство с практическими примерами
  5. Комментарии в C++: лучшие практики для читаемого и поддерживаемого кода
  6. Переменные, константы и литералы в C: полное руководство
  7. Классы хранения в C: область видимости, время жизни и производительность
  8. Глобальные, локальные и nonlocal переменные в Python: понимание и применение
  9. Переменные и типы данных в C++: подробное руководство по int, double, char, string, bool
  10. Указатели в C++: концепции, примеры и практические применения