que - tipos de variables en c++ y su significado




¿Qué sucede con las variables no inicializadas? C++ (2)

int main()
{    
    int a;
    cout << a;
    return 0;
}

Me pregunto por qué se está produciendo el valor 0. Pensé que si una variable no se inicializa, generaría un valor de basura.

Sin embargo, también recuerdo haber escuchado que el valor predeterminado de un entero es 0, así que estoy un poco confundido.

Gracias


Creo que no está convencido con las respuestas / comentarios, puede probar el siguiente código:

#include <iostream>
using namespace std;

int main(){

 int a,b,c,d,e,f,g,h,i,j;

 cout<<a<<endl;
 cout<<b<<endl;
 cout<<c<<endl;
 cout<<d<<endl;
 cout<<e<<endl;
 cout<<f<<endl;
 cout<<g<<endl;
 cout<<h<<endl;
 cout<<i<<endl;
 cout<<j<<endl;

 return 0;
}

Bueno, la razón es que una variable obtiene un valor de basura (un valor desconocido / sin sentido para programar) cuando alguien ejecuta un programa, se carga en alguna parte de la RAM. Ahora todo depende de qué valores se hayan establecido previamente en cierta ubicación, puede haber algún otro programa que haya estado anteriormente. Simplemente sucede que su programa se ha cargado en una ubicación donde tiene 0 valor en RAM y eso es lo que recibirá a cambio.

Es muy posible que si reinicias tu sistema e intentas ejecutar el mismo programa, entonces puedas obtener un valor de basura.

Las sentencias anteriores son válidas para las variables que el iniciador no inicializa.





initialization