Разница между локальными и глобальными переменными (с таблицей)

Оглавление:

Anonim

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

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

Разница между локальными и глобальными переменными состоит в том, что, хотя оба являются двумя типами переменных, первая объявляется внутри функции, а вторая - вне ее. Их продолжительность жизни тоже разная. В то время как жизнь первой начинается и заканчивается выполнением и завершением функции, вторая создается еще до начала выполнения программы. Однако это заканчивается завершением программы.

Локальная переменная оказывается своего рода переменной. Он объявлен внутри функции, и его время жизни варьируется от момента выполнения до завершения. Его объем также ограничен функцией, в которой он был объявлен. Если он не инициализирован, он может хранить «мусорное значение».

С другой стороны, глобальная переменная также является типом переменной. Для него характерно объявление вне функции. Он создается еще до начала выполнения программы; однако он заканчивается завершением программы. Если он не инициализирован, по умолчанию сохраняется ноль.

Таблица сравнения локальных и глобальных переменных

Параметры сравнения

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

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

Обмен данными Здесь это невозможно, поскольку к данным может получить доступ только одна функция. Поскольку к нему могут обращаться несколько функций, эта функция возможна
Параметр Передача параметров для доступа к значению крайне необходима. Передача параметров не является крайней необходимостью, так как значение можно получить через все
Модификации Если значение изменено в одной из функций, то такие изменения не отражаются в других функциях. Если значение изменено в одной из функций, то такие изменения отражаются на всем протяжении программы.
Доступность Доступ к нему можно получить с помощью операторов, содержащихся внутри функции Доступ к нему можно получить с помощью любого оператора, который есть в программе.
Место хранения Это хранится в неуказанном месте, если не указано иное. Это хранится в указанном месте

Что такое локальные переменные?

Это своего рода переменная. Его особенности заключаются в том, что он объявляется внутри или внутри определенной функции, и к его значению можно получить доступ только с помощью такого оператора, который был включен в функцию. Его срок годности начинается с начала выполнения программы и заканчивается с его завершением.

Другой аспект заключается в том, что его область действия также ограничена функцией, в которой он был объявлен. Если он не инициализирован, он может хранить «мусорное значение». Для этого обмен данными невозможен, потому что к данным может получить доступ только одна функция. Кроме того, крайне необходима передача параметров для доступа к значению.

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

У этого есть несколько преимуществ, например, он гарантирует, что значения останутся неизменными даже во время выполнения задачи. Поскольку каждая задача создает свою локальную переменную, результаты по-прежнему будут предсказуемыми. Они удаляются при завершении любой функции, освобождая тем самым ранее занятую область памяти.

Что такое глобальные переменные?

Это тоже своего рода переменная. Для него характерно объявление вне функции. Он создается еще до начала выполнения программы; однако он заканчивается завершением программы. Если он не инициализирован, по умолчанию сохраняется ноль.

Здесь возможен обмен данными, потому что к ним могут обращаться несколько функций. Эта функция возможна. Передача параметров не является крайней необходимостью, поскольку к значению можно получить доступ на всем протяжении через переменные, объявленные вне функций. Если значение изменяется в одной из функций, то такие изменения отражаются во всей программе. Доступ к нему можно получить с помощью любого оператора, имеющегося в программе.

У этого есть определенные преимущества, такие как доступ ко всем функциям программы. Он имеет решающее значение для хранения «констант» и помогает поддерживать согласованность. Это наиболее полезно, когда несколько функций обращаются к одним и тем же данным. Его недостатком является то, что несколько переменных остаются в памяти до выполнения программы, что, в свою очередь, может привести к проблеме «Недостаточно памяти». Кроме того, иногда результаты могут быть ненадежными и непредсказуемыми, поскольку данные могут быть изменены или изменены любой функцией.

Основные различия между локальными и глобальными переменными

Вывод

По мере усложнения компьютерного мира путаница, возникающая в результате этого, будет продолжать появляться. Вот почему мы должны ознакомиться с концепцией переменных и их типов. Хотя оба являются двумя типами переменных, первая объявляется внутри функции, а вторая - вне ее. Их продолжительность жизни тоже разная. В то время как жизнь первой начинается и заканчивается выполнением и завершением функции, вторая создается еще до начала выполнения программы. Однако это заканчивается завершением программы. У них есть свои преимущества и недостатки.

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

использованная литература

  1. https://onlinelibrary.wiley.com/doi/full/10.1111/cogs.12831
  2. https://www.sciencedirect.com/science/article/pii/S1878029615001905

Разница между локальными и глобальными переменными (с таблицей)