Entendiendo el Alcance de Variables en C++: Variables Locales vs Globales
Un alcance es una región del programa y, en términos generales, hay tres lugares donde se pueden declarar variables:
Dentro de una función o un bloque, lo que se llama variables locales,
En la definición de parámetros de función, lo que se llama parámetros formales.
Fuera de todas las funciones, lo que se llama variables globales.
Aprenderemos qué es una función y sus parámetros en capítulos posteriores. Aquí expliquemos qué son las variables locales y globales.
Variables Locales
Las variables que se declaran dentro de una función o bloque son variables locales. Solo pueden ser usadas por declaraciones que están dentro de esa función o bloque de código. Las variables locales no son conocidas por funciones fuera de las suyas. El siguiente es un ejemplo usando variables locales:
#include <iostream>
using namespace std;
int main() {
// Declaración de variable local:
int a, b;
int c;
// inicialización real
a = 10;
b = 20;
c = a + b;
cout << c;
return 0;
}
Variables Globales
Las variables globales se definen fuera de todas las funciones, usualmente al principio del programa. Las variables globales mantienen su valor durante toda la vida de tu programa.
Una variable global puede ser accedida por cualquier función. Es decir, una variable global está disponible para su uso en todo tu programa después de su declaración. El siguiente es un ejemplo usando variables globales y locales:
#include <iostream>
using namespace std;
// Declaración de variable global:
int g;
int main() {
// Declaración de variable local:
int a, b;
// inicialización real
a = 10;
b = 20;
g = a + b;
cout << g;
return 0;
}
Un programa puede tener el mismo nombre para variables locales y globales, pero el valor de la variable local dentro de una función tendrá preferencia. Por ejemplo:
#include <iostream>
using namespace std;
// Declaración de variable global:
int g = 20;
int main() {
// Declaración de variable local:
int g = 10;
cout << g;
return 0;
}
Cuando el código anterior se compila y ejecuta, produce el siguiente resultado:
10
Inicialización de Variables Locales y Globales
Cuando se define una variable local, no es inicializada por el sistema, tú debes inicializarla tú mismo. Las variables globales se inicializan automáticamente por el sistema cuando las defines de la siguiente manera:
| Tipo de Dato | Inicializador |
|---|---|
| int | 0 |
| char | '\0' |
| float | 0 |
| double | 0 |
| puntero | NULL |
Es una buena práctica de programación inicializar las variables correctamente, de lo contrario, a veces el programa produciría resultados inesperados.
Lenguaje C
- Domine variables y tipos de datos primitivos en C#: Guía completa
- Entendiendo el ámbito de variables en C#: Nivel de clase, método y bloque
- Dominando Variables, Literales y Constantes en C++: Guía Completa
- Dominando los Operadores en C++: Guía Completa con Ejemplos Prácticos
- Comentarios en C++: Mejores Prácticas para Código Legible y Mantenible
- Variables, constantes y literales en C: guía completa
- Entendiendo las clases de almacenamiento en C: ámbito, vida y rendimiento
- Variables y tipos de datos en C++: Guía experta sobre int, double, char, string, bool
- Dominando punteros en C++: Conceptos, ejemplos y aplicaciones prácticas
- Entendiendo variables globales, locales y nonlocal en Python
- Entendiendo los Tipos de Variables en Java: Guía Completa