Курс — «Программирование на C для начинающих». Функции. #14 Локальные и глобальные переменные
Здравствуйте, дорогие друзья.
Переменные в языке программирования C могут быть локальными или глобальными. Локальные переменные объявляются внутри функций и доступны только внутри этих функций. Глобальные переменные объявляются вне функций и доступны во всей программе. В этом разделе мы рассмотрим различия между локальными и глобальными переменными, а также их области видимости и время жизни.
Локальные переменные
Локальные переменные объявляются внутри функций и доступны только внутри этих функций. Они создаются при входе в функцию и уничтожаются при выходе из нее. Локальные переменные имеют ограниченную область видимости и время жизни.
Пример использования локальных переменных:
|
1 2 3 4 5 6 7 8 9 10 11 |
#include <stdio.h> void localFunction() { int localVar = 10; // Локальная переменная printf("Local variable: %d\n", localVar); } int main() { localFunction(); return 0; } |
В этом примере переменная localVar объявлена внутри функции localFunction и доступна только внутри этой функции. При выходе из функции localFunction переменная localVar уничтожается.
Глобальные переменные
Глобальные переменные объявляются вне функций и доступны во всей программе. Они создаются при запуске программы и уничтожаются при ее завершении. Глобальные переменные имеют глобальную область видимости и время жизни.
Пример использования глобальных переменных:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
#include <stdio.h> int globalVar = 20; // Глобальная переменная void globalFunction() { printf("Global variable: %d\n", globalVar); } int main() { globalFunction(); printf("Global variable in main: %d\n", globalVar); return 0; } |
В этом примере переменная globalVar объявлена вне функций и доступна во всей программе. Она может быть использована как в функции globalFunction, так и в функции main.
Область видимости переменных
Область видимости переменной определяет, где в программе эта переменная доступна. Локальные переменные имеют ограниченную область видимости и доступны только внутри функций, в которых они объявлены. Глобальные переменные имеют глобальную область видимости и доступны во всей программе.
Пример области видимости переменных:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
#include <stdio.h> int globalVar = 30; // Глобальная переменная void scopeFunction() { int localVar = 40; // Локальная переменная printf("Local variable in scopeFunction: %d\n", localVar); printf("Global variable in scopeFunction: %d\n", globalVar); } int main() { int localVar = 50; // Локальная переменная printf("Local variable in main: %d\n", localVar); printf("Global variable in main: %d\n", globalVar); scopeFunction(); return 0; } |
В этом примере локальные переменные localVar в функциях main и scopeFunction имеют разные области видимости и не конфликтуют друг с другом. Глобальная переменная globalVar доступна как в функции main, так и в функции scopeFunction.
Время жизни переменных
Время жизни переменной определяет, сколько времени переменная существует в памяти. Локальные переменные создаются при входе в функцию и уничтожаются при выходе из нее. Глобальные переменные создаются при запуске программы и уничтожаются при ее завершении.
Пример времени жизни переменных:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
#include <stdio.h> int globalVar = 60; // Глобальная переменная void lifetimeFunction() { int localVar = 70; // Локальная переменная printf("Local variable in lifetimeFunction: %d\n", localVar); } int main() { lifetimeFunction(); // localVar недоступна здесь, так как она была уничтожена при выходе из lifetimeFunction printf("Global variable in main: %d\n", globalVar); return 0; } |
В этом примере локальная переменная localVar создается при входе в функцию lifetimeFunction и уничтожается при выходе из нее. Глобальная переменная globalVar доступна во всей программе и существует до завершения программы.
Локальные и глобальные переменные являются важными элементами языка программирования C. Локальные переменные имеют ограниченную область видимости и время жизни, тогда как глобальные переменные имеют глобальную область видимости и время жизни. Понимание различий между локальными и глобальными переменными, а также их областей видимости и времени жизни, является ключевым навыком для начинающих программистов.

На этом все. Всем хорошего дня!
