Estoy intentando ejecutar una secuencia de memoria y mostrarla en la ventana de comandos. Aquí está el código:
int addr[10]; //Address addr is 32 bit
for{int i=0 ; i<10 ; i++}
{
int *p = &addr[i]; //Pointing to the 32 bit addresses from 0 to 9
cout<<p<<endl; //Display the pointed addresses
}
return 0;
}
Salida:
002AF948 //address of addr[0]
002AF94C //address of addr[1]
002AF950 //address of addr[2]
....upto i = 9
Pregunta: En la salida, ¿no se supone que la dirección de addr [1] es 002AF949 en lugar de 002AF94C? ¿Por qué omitir las direcciones de memoria 002AF49, 002AF4A, 002AF4B y luego mostrar la dirección addr [1] como 002AF94C? Lo mismo ocurre con addr [2] también.
¿Por qué el puntero omite estas direcciones intermedias de 32 bits cuando se incrementa?