我在C中使用指针时遇到了令人费解的疑问.所以,我对此进行了很多搜索,但没有给出满意的答案.这是事情:
我声明了一个INT类型的指针和一个INT类型的变量(例如int x,*pointer).所以,我们假设它们都占用RAM中的顺序地址,分别是0x102和0x106.到目前为止没有惊喜.然后,我声明x = 5.我的内存映射应该是这样的,不应该?
int x, *pointer;
x = 5;
Run Code Online (Sandbox Code Playgroud)

好.在大学里,我学会了这样指定一个指针:
pointer = &x;
Run Code Online (Sandbox Code Playgroud)
我的记忆图应该是这样的:

到现在为止还挺好.但问题是:如果,而不是上面,我分配一个像这样的指针:
*pointer = x;
Run Code Online (Sandbox Code Playgroud)
'x'的内存地址不应存储在指针的内存地址中?我总是想知道像"Memory Map 2"这样的东西,但结果与"Memory Map 1"相同,也就是说,0x106地址包含一个垃圾数字.那么,如果'x'的内存地址没有存储在指针的内存地址,程序怎么知道我想指向哪个?存储此信息的位置?
这看起来像一个简单的问题,但我无法理解.:(
提前致谢!:)