我觉得这可能是一个奇怪/愚蠢的问题,但这里是......
在问题中C 中的 NULL 是否需要/定义为零?,已经确定NULL
指针指向不可寻址的内存位置,而且NULL
is 0
.
现在,据说 32 位处理器可以寻址2^32
记忆位置。
2^32
只是可以使用以下方式表示的不同数字的数量32
位。这些数字中有0
。但是由于0
, 那是,NULL
,应该没有指向任何东西,我们不应该说32位处理器只能寻址2^32 - 1
内存位置(因为0
不应该是一个有效的地址)?
如果 32 位处理器可以寻址 2^32 个内存位置,则意味着该架构上的 C 指针可以引用 2^32 - 1 个位置加上NULL.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)