6
. 空 (null) 指针
6
.
1
臭名昭著的空指针到底是什么?
6
.
2
怎样在程序里获得一个空指针?
6
.
3
用缩写的指针比较 ``if(p)" 检查空指针是否可靠? 如果空指针的内部表达不是 0 会怎么样?
6
.
4
NULL 是什么, 它是怎么定义的?
6
.
5
在使用非全零作为空指针内部表达的机器上, NULL 是如何定义的?
6
.
6
如果 NULL 定义成 #define NULL ((char *)0) 难道不就可以向函数传入不加转换的 NULL 了吗?
6
.
7
如果 NULL 和 0 作为空指针常数是等价的, 那我到底该用哪一个呢?
6
.
8
但是如果 NULL 的值改变了, 比如在使用非零内部空指针的机器上, 难道用 NULL (而不是 0) 不是更好吗?
6
.
9
用预定义宏 #define Nullptr(type) (type *)0 帮助创建正确 类型的空指针。
6
.
10
这有点奇怪。NULL 可以确保是 0, 但空 (null) 指针却不一定?
6
.
11
为什么有那么多关于空指针的疑惑?为什么这些问题如此经常地出现?
6
.
12
我很困惑。我就是不能理解这些空指针一类的东西。
6
.
13
考虑到有关空指针的所有这些困惑, 难道把要求它们内部表达都必须 为 0 不是更简单吗?
6
.
14
说真的, 真有机器用非零空指针吗, 或者不同类型用不同的表达?
6
.
15
运行时的 ``空指针赋值" 错误是什么意思?
翻译朱群英、孙云, LaTeX2HTML 编译 朱群英 (2005-06-23)