C语言编程中,内存物理地址是什么概念?

内存物理地址的含义。
2024-12-02 22:51:16
推荐回答(2个)
回答1:

用于内存芯片级的单元寻址,与处理器和CPU连接的地址总线相对应。
——这个概念应该是这几个概念中最好理解的一个,但是值得一提的是,虽然可以直接把物理地址理解成插在机器上那根内存本身,把内存看成一个从0字节一直到最大空量逐字节的编号的大数组,然后把这个数组叫做物理地址,但是事实上,这只是一个硬件提供给软件的抽像,内存的寻址方式并不是这样。所以,说它是“与地址总线相对应”,是更贴切一些,不过抛开对物理内存寻址方式的考虑,直接把物理地址与物理的内存一一对应,也是可以接受的。也许错误的理解更利于形而上的抽像。

回答2:

跟c语言没关系,现在操作系统通常引入虚拟内存地址概念,就是每个进程可以直接寻址的地址空间,不受其他进程干扰。比如32位机器可以直接寻址4G空间,意思是每个应用程序都有4G内存空间可用。但是显然机器内存罕有如此之大,可以支持每个程序使用4G内存的。这也是“虚拟”两个字的意思。
与此相对,就是机器真实的地址大小,就是所说的内存物理地址。