I have a doubt about memory addresses ¿Any expert?
Hi,
First of all, I apologize for my English level, I am not a native speaker. I hope you can understand me :)
Explanation:
1) PHYSICAL WORL: I have searched for information on the electronics behind the memories. In 32 bits microcontrollers, the memory digital circuits have 1 memory address per 4 bytes. In other words, if you would want to store a "char" in the byte 0, you will use the same "real or physical" memory address than if you would want to store other "char" in the byte 1. ( 4 bytes share the same physical memory address )
2) SOFTWARE WORLD: When you store two "char" variables in memory and print their memory address using C language, you can see that they have different memory address. For example:
- char a = 'a'; // use memory address 0x00000000
- char b = 'b'; // use memory address 0x00000001
My question is:
¿What is going on?¿Are the memory addresses of the software different from the real ones?¿Are they "fictitious"?
Thank you!
