Tecnología

Inicio

¿Cuál es la diferencia entre las variables locales y globales?

¿Cuál es la diferencia entre las variables locales y globales?


En la programación de computadoras, una variable es una posición de memoria con nombre que un programador puede utilizar para representar datos en lugar de introducir datos directamente en un programa. El alcance de una variable es la región del código fuente del programa dentro de la cual representa ciertos datos. La mayoría de los lenguajes de programación soportan ambas variables locales y globales, pero existen algunas diferencias importantes entre los dos tipos.

Las variables locales

Las variables locales sólo existen dentro de la función - una sección con nombre de código de programa que realiza una tarea específica - en el que se definen, o declaradas. Dejan de existir una vez que se ha completado la función. Las variables locales se vuelven a crear cada vez que la función se llama, ni ejecutado. Estas variables no son accesibles a otras funciones o para el programa principal y, como tal, por lo general están implementados utilizando un tipo especial de estructura de datos, conocida como una pila.

Apilar

En muchos lenguajes de programación, la "pila" es un elemento clave en la implementación de las variables locales. Antes de ejecutar una función, un programa agrega todas las variables locales declaradas en esa función a la pila, en el orden inverso a aquel en el que fueron declarados. Cuando el programa llama a la función, las variables locales se quitan de la pila en orden inverso, por lo que la variable más recientemente añadido es el primero eliminado.

Variables globales

Las variables globales se declaran en el cuerpo principal del código fuente del programa, fuera de todas las funciones, y por lo tanto existen en cualquier parte del código, incluso dentro de las funciones. Las variables globales no se vuelven a crear cada vez que una función particular se llama. Programas suelen utilizar variables globales para almacenar datos que son procesados ​​por muchas funciones diferentes. Un programa de edición de texto simple, por ejemplo, puede cargar el contenido del archivo que está trabajando en en una variable global.

Pros contras

Las variables locales hacen que los programas informáticos más fáciles de depurar y mantener. Los programadores pueden determinar el punto exacto en el que un programa modifica el valor de una variable local, mientras que las variables globales pueden ser modificados en cualquier lugar dentro del código fuente. Las variables locales también producen menos interacciones inesperadas con las funciones de llamada o el mundo exterior, conocidos como efectos secundarios, que las variables globales. Las variables globales son accesibles en funciones en las que no se utilizan, lo que contradice el concepto de programación modular, en el que el código de programa se compone de bloques pequeños, aislados o módulos, por lo que los programadores que favorecen la estructura modular rara vez los utilizan.