Poo*_*ria 3 c++ memory null pointers
我知道当你想要指出这个特定的指针没有指向它应该被设置为NULL(实际上是0)时,有一句老话,但我想知道实际上是不是存在地址的物理部分NULL(0)?
Oli*_*rth 6
总是有一个0的物理地址(但它可能不一定映射到物理RAM),但在典型的平台上,任何访问通常都会在虚拟地址空间中执行(如jweyrich指出的那样,你可以使用mmap等等)直接映射物理地址空间),因此任何读取/写入地址0的尝试都会引发某种异常.
mmap
在更简单的处理器(想想微控制器等)上,可能没有这样的保护,所以如果你试图写入地址0,就没有什么可以抓住你了.
另请注意,空指针不一定必须指向地址0; 唯一的保证是它将比较等于整数值0.
0
归档时间:
14 年,10 月 前
查看次数:
353 次
最近记录: