空指针

指针值为空。它不指向任何的对象或者函数。由系统保证空指针不指向任何实际的对象或者函数。 反过来说,任何对象或者函数的地址都不可能是空指针。

X* a = NULL/0/'\0'/ (void *)0

空指针(null pointer)指向了内存的什么地方即空指针的内部实现?

  标准并没有对空指针指向内存中的什么地方这一个问题作出规定,也就是说用哪个具体的地址值(0x0 地址还是某一特定地址)表示空指针取决于系统的实现。我们常见的空指针一般指向 0 地址,即空指针的内部用全 0 来表示(zero null pointer,零空指针);也有一些系统用一些特殊的地址值或者特殊的方式表示空指针(nonzero null pointer,非零空指针),具体请参见 C FAQ。

posted @ 2015-11-26 00:16  shinymood  阅读(1166)  评论(0编辑  收藏  举报