Requisitos:
Las variables tienen un "ámbito" ("scope"en inglés). El ámbito determina dónde se puede utilizar una variable y dónde no:
- Una variable no se puede utilizar antes de su declaración
- Una variable no se puede utilizar fuera de la función donde ha sido declarada (excepto las variables globales)
- Una variable solo se puede utilizar dentro de la estructura de control (if, while, función, etc) donde ha sido definida
Ejemplos de códigos incorrectos:
int main() {
if (1=1) {
int valor = 0; // declaracion de la variable valor
}
cout << valor; // "valor" solo existe dentro del if, pero ahora estamos fuera
}
int main() {
while(true) {
int variable; //declaracion de variable
cin >> variable;
if (variable >= 18) {
bool mayorEdad = true; //declaracion de mayorEdad
cout << variable;
}
if (mayorEdad) { // "mayorEdad" solo existe dentro del if anterior, aquí ya no existe
cout << "Mayor";
}
}
cout << variable; // "variable" solo existe dentro del while, aquí ya no existe
}
Un ejemplo más complejo pero más claro:
int main() {
int valor = 10;
if (true) {
int valor = 1000;
cout << valor << endl;
}
cout << valor << endl;
}
El primer cout mostrará "1000", lógico, pero el segundo mostrará "10". ¿Por qué? Por que al entrar en el if hemos declarado una NUEVA variable "valor" (1000) que al salir de if se ha destruido y nos hemos quedado solo con la primera variable "valor", que tiene todavía el valor "10", por tanto al llegar al segundo cout la variable "valor" a la que se refiere es la primera, de hecho la única que queda. En general, es muy mala idea usar dos veces el mismo nombre de variable (de hecho, si declaras la misma variable dos veces dentro de la misma estructura no te compilará).
Comentarios
FUNCIONES
Buenas . Quería saber si las funciones solo se declaran al principio del programa ; solo se puede poner una función por programa y si se pueden poner más como se las llaman .
Hola Enrique,En C++ no es…
Hola Enrique,
En C++ no es necesario declarar las funciones al principio del programa.
En un programa puedes poner tantas funciones como quieras.
Para entender cómo se llama a una función echa un vistazo al artículo sobre funciones: https://aprende.olimpiada-informatica.org/cpp-funciones
Añadir nuevo comentario