A ver si termino de aclararme, pongamos por caso los siguientes ejemplos y lo que sucedería exactamente:
a) variable global con inicialización (int x = 100;)
Resultado:
- el espacio de almacenamiento en memoria relacionado con la variable x se duplica
- el valor 100 no se ha guardado dentro de x como valor inicial
b) variable global sin inicialización (int x;) y posterior inicialización, por ejemplo, dentro de main (x = 100;)
Resultado:
- el espacio de almacenamiento en memoria relacionado con la variable x se duplica
- x contiene un 0 por defecto inicialmente o posiblemente **lo que ya hubiera en la memoria**
- x contiene el valor de 100 desde el momento de la asignación
c) variable global con inicialización como constante global (const int x = 100;)
. el espacio de almacenamiento en memoria es el correcto
- x contiene correctamente el valor de 100
- no se puede modificar x alegremente (no compila), hay que hacerlo "con algo de maña" como he leído por algún post
d) variable global sin inicialización como constante global (const int x;)
. el espacio de almacenamiento en memoria es el correcto
- x contiene un 0 por defecto inicialmente o posiblemente **lo que ya hubiera en la memoria**
- no se puede modificar x alegremente (no compila), hay que hacerlo "con algo de maña" como he leído por algún post
Confimar o desmentir lo anterior, porfa