Diferencia entre variable local y global

¿Qué es una variable?

Variable es un nombre asignado a un área de almacenamiento que el programa puede manipular. Un tipo de variable determina el tamaño y el diseño de la memoria de la variable.

También determina el rango de valores que deben almacenarse dentro de esa memoria y la naturaleza de las operaciones que se pueden aplicar a esa variable.

En este tutorial, aprenderá

  • Alcance de las variables
  • Definición de variable local
  • Definición de variable global
  • Variable local frente a variables globales
  • Ventajas de usar variables globales
  • Ventajas de usar variables locales
  • Desventajas de usar variables globales
  • Desventajas de usar variables locales
  • ¿Qué es más útil?

Alcance de las variables

El alcance de la variable es simplemente el tiempo de vida de una variable. Es un bloque de código bajo el cual una variable es aplicable o viva. Por ejemplo:

function foo(){var x;}

Declaras una variable "x" dentro de una función "foo". El alcance de esa variable permanece dentro de esa función, no se puede usar fuera de esa función.

Hay tres lugares donde las variables pueden declarar el lenguaje de programación de variables:

  • Dentro de una función o un bloque: variables locales
  • Fuera de todas las funciones: variables globales
  • En la definición de parámetros de función: parámetros formales

DIFERENCIA CLAVE

  • La variable local se declara dentro de una función, mientras que la variable global se declara fuera de la función.
  • Las variables locales se crean cuando la función ha comenzado la ejecución y se pierden cuando la función termina, por otro lado, la variable global se crea cuando comienza la ejecución y se pierde cuando finaliza el programa.
  • La variable local no proporciona intercambio de datos, mientras que la variable global proporciona intercambio de datos.
  • Las variables locales se almacenan en la pila, mientras que las variables globales se almacenan en una ubicación fija decidida por el compilador.
  • El paso de parámetros es necesario para las variables locales, mientras que no es necesario para una variable global.

Variable local

Variable local se define como un tipo de variable declarada dentro del bloque o subrutinas de programación. Solo se puede usar dentro de la subrutina o bloque de código en el que está declarado. La variable local existe hasta que el bloque de la función está en ejecución. Después de eso, se destruirá automáticamente.

Ejemplo de variable local

public int add(){int a =4;int b=5;return a+b;}

Aquí, 'a' y 'b' son variables locales

Variable global

Una variable global en el programa es una variable definida fuera de la subrutina o función. Tiene un alcance global, lo que significa que mantiene su valor durante toda la vida útil del programa. Por lo tanto, se puede acceder a él en todo el programa mediante cualquier función definida dentro del programa, a menos que esté sombreada.

Ejemplo:

int a =4;int b=5;public int add(){return a+b;}

Aquí, 'a' y 'b' son variables globales.

Variable local vs. Variables globales

A continuación, se muestran algunas diferencias fundamentales entre las variables locales y globales.

Parámetro Local Global
Alcance Se declara dentro de una función. Se declara fuera de la función.
Valor Si no se inicializa, se almacena un valor de basura Si no se inicializa, el cero se almacena por defecto.
Toda la vida Se crea cuando la función comienza a ejecutarse y se pierde cuando las funciones terminan. Se crea antes de que comience la ejecución global del programa y se pierde cuando el programa termina.
Compartir datos El intercambio de datos no es posible ya que solo una función puede acceder a los datos de la variable local. El intercambio de datos es posible ya que múltiples funciones pueden acceder a la misma variable global.
Parámetros Se requiere el paso de parámetros para que las variables locales accedan al valor en otra función El paso de parámetros no es necesario para una variable global, ya que es visible en todo el programa.
Modificación del valor de la variable Cuando el valor de la variable local se modifica en una función, los cambios no son visibles en otra función. Cuando el valor de la variable global se modifica en una función, los cambios son visibles en el resto del programa.
Accedido por Se puede acceder a las variables locales con la ayuda de declaraciones, dentro de una función en la que se declaran. Puede acceder a las variables globales mediante cualquier declaración del programa.
Almacenamiento de memoria Se almacena en la pila a menos que se especifique. Se almacena en una ubicación fija decidida por el compilador.

Ventajas de usar variables globales

  • Puede acceder a la variable global desde todas las funciones o módulos de un programa
  • Solo necesita declarar la variable global una sola vez fuera de los módulos.
  • Se utiliza idealmente para almacenar "constantes", ya que le ayuda a mantener la coherencia.
  • Una variable global es útil cuando varias funciones acceden a los mismos datos.

Ventajas de usar variables locales

  • El uso de variables locales ofrece una garantía de que los valores de las variables permanecerán intactos mientras se ejecuta la tarea.
  • Si varias tareas cambian una sola variable que se ejecuta simultáneamente, el resultado puede ser impredecible. Pero declararlo como variable local resuelve este problema ya que cada tarea creará su propia instancia de la variable local.
  • Puede dar a las variables locales el mismo nombre en diferentes funciones porque solo son reconocidas por la función en la que están declaradas.
  • Las variables locales se eliminan tan pronto como termina cualquier función y liberan el espacio de memoria que ocupa.

Desventajas de usar variables globales

  • Demasiadas variables declaradas como globales, permanecen en la memoria hasta que se completa la ejecución del programa. Esto puede causar un problema de memoria insuficiente.
  • Los datos pueden ser modificados por cualquier función. Cualquier declaración escrita en el programa puede cambiar el valor de la variable global. Esto puede dar resultados impredecibles en entornos multitarea.
  • Si las variables globales se suspenden debido a la refactorización del código, deberá cambiar todos los módulos donde se llaman.

Desventajas de usar variables locales

  • El proceso de depuración de una variable local es bastante complicado.
  • Los datos comunes necesarios para pasar repetidamente, ya que no es posible compartir datos entre módulos.
  • Tienen un alcance muy limitado.

¿Qué es más útil?

La variable local y global es igualmente importante al escribir un programa en cualquier idioma. Sin embargo, una gran cantidad de la variable global puede ocupar una gran cantidad de memoria. Un cambio indeseable en las variables globales se vuelve difícil de identificar. Por lo tanto, es aconsejable evitar declarar variables globales no deseadas.

Articulos interesantes...