Ir al contenido principal

variables globales y locales

en c++ cuando trabajamos con varias funciones y cientos de variables se suele dar el caso que tenemos variables con el mismo nombre, por esto en algunos casos es confuso saber cual es la variable que estamos utilizando y por lo cual se cometen errores difíciles de detectar.

variable local

son todas aquellas declaradas dentro de una función, este tipo de variable tiene la característica de ser conocida solamente dentro de la función donde son declaradas, esto significa que pueden ser referenciada solo por dicha función.

el ciclo de vida de una variable local:
se crea la variable al momento de ejecutar la función a la que pertenece y son destruidas al finalizar la ejecución.

variable global

estas variables en contraste con las locales, se declaran fuera de todas las funciones antes de ser utilizadas por primera vez y están presentes durante todo el tiempo de ejecución del programa.

las variables globales se pueden manipular desde cualquier función. 

Variables Globales y locales c++

algunos ejemplos de reflexión interesantes

ejemplo_1:

código en c++
en este programa podemos observar la función principal(main) y dos funciones donde todas tienen una variable con el identificador < x > pero con un valor distinto.
si ejecutamos este programa podemos observar que aunque existan variables con el mismo nombre no aparece ningún tipo de error ya que las funciones siempre buscan la variable de manera local.
al ejecutar el programa la funcion_A escribirá:
el valor de x es:25
la funcion_B escribirá:
el valor de x es:2

ejemplo_2:

variable global y variable local con el mismo nombre

código en c++
Agregar leyenda


en el ejemplo_2 se observa una variable global llamada global y en la función imprimir aparece otra variable llamada global.

breve explicación

linea 4: declaramos una variable global llamada global y le asignamos el valor 12.
linea 6: prototipo de la función imprimir
linea 8-14: función main  
linea 16-24: función imprimir la cual escribe en pantalla el valor de la variable global.
linea 20: se imprime en pantalla la variable local 
linea 22: se imprime en pantalla la variable global 


como se menciono anteriormente las funciones utilizan normalmente las variables locales, pero en algunos casos existe una variable global con el mismo nombre que una variable local y nosotros queremos utilizar la variable global entonces es necesario anteponer el operador de resolución de ámbito ( :: ).

el operador de resolución de ámbito se utiliza cuando hay ambigüedad como en el caso anterior, pero si en el ejemplo anterior en la función imprimir no se hubiera declarado una variable llamada global(linea 18) entonces no seria necesario utilizar el operador (::) ya que no habría ninguna confusión.

para repasar el tema acerca de funciones pulsa aquí 

programa que calcula el factorial pulsa aquí.
comenta dudas o ayuda contribuyendo tu conocimiento del tema, Saludos.

Comentarios

Entradas más populares de este blog

piedra, papel y tijeras en c++

Hola hoy les mostrare como hacer un programa que simule en c++ el juego de piedra, papel y tijera. en el cual se utilizan la mayoría de los elementos básicos que se usan en c++ para programar. para nuestro programa se seguirán las reglas tradicionales con tres opciones y haremos que nuestro programa se repita hasta que nosotros decidamos terminar de jugar. Al finalizar les diremos el total de victorias y empates, este juego es de dos personas así que haremos que nuestro ordenador sea el contrincante. ¿piedra, papel y tijeras? es un juego de manos que se juega entre dos personas. aquí esta un enlace con las reglas. como les he comentado anteriormente es necesario hacer un pequeño análisis antes de programar. Análisis salida: mensaje que indica al ganador, el total de victorias y empates. entrada: una opción de juego(piedra,papel,tijera) procedimiento:   declarar variables enteras jugador, maquina, victorias_jugador, victoria_maquina, empates i

programa c++ mayor de dos numeros

hola en esta entrada les mostrare como hacer un programa que calcule el mayor de dos números utilizando la estructura de control if. ejercicio.- programa que calcula el mayor de dos números reales. análisis salida:mensaje que indique que el mayor de dos números entrada:dos números reales procedimiento: declarar 2 variables reales(float o double) escribir "ingrese numero 1: " leer numero1 escribir "ingrese numero2: " leer numero2 comparar numero1 y numero2 imprimir el mayor es: numero mayor ya que hicimos el procedimiento hay que codificarlo breve explicación linea 1-2 incluimos bibliotecas linea 6 declaramos variables tipo double linea 9-12 solicitamos al usuario que ingrese los numeros y los almacenamos en las variables linea 14-15  comparamos si el numero 1 es mayor que el numero 2 y si se cumple la condicion imprimimos que el mayor es el numero 1. linea 16-17 comparamo

área de un triangulo c++

ejercicio 1.- calcule el área de un triangulo Hola, si llegaste a esta publicación de seguro te debes preguntar ¿como hacer el programa del área del triangulo? o del rectángulo y cualquier otra figura, entonces estas en el lugar correcto. este es un algoritmo sencillo que utiliza la formula de matemáticas para hallar el área. antes de empezar a programar tenemos que hacer un pequeño análisis: comprender el problema plantear los pasos para resolver el problema codificar compilar ejecuar comprender el problema nuestro problema es calcular el área de un triangulo . planteamos los pasos ahora hay que preguntarse: ¿que necesito para hacer el calculo? el área de un triangulo es igual a la base por altura entre dos, entonces debemos conocer la base y la altura. ¿como obtener esos datos? hay que decirle al usuario que ingrese esos datos. ya que tenemos los datos podemos calcular el área y solo nos falta escribir en la pantalla el resultado. codifica