Null Pointers

5. Null Pointers

5.1What is this infamous null pointer, anyway?

5.2How do I get a null pointer in my programs?

5.3Is the abbreviated pointer comparison ``if(p)'' to test for non-null pointers valid?

5.4What is NULL and how is it #defined?

5.5How should NULL be defined on a machine which uses a nonzero bit pattern as the internal representation of a null pointer?

5.6If NULL were defined as ``((char *)0),'' wouldn't that make function calls which pass an uncast NULL work?

5.9If NULL and 0 are equivalent as null pointer constants, which should I use?

5.10But wouldn't it be better to use NULL, in case the value of NULL changes?

5.12I use the preprocessor macro"#define Nullptr(type) (type *)0" to help me build null pointers of the correct type.

5.13This is strange.NULL is guaranteed to be 0, but the null pointer is not?

5.14Why is there so much confusion surrounding null pointers?

5.15I'm confused.I just can't understand all this null pointer stuff.

5.16Given all the confusion surrounding null pointers,wouldn't it be easier simply to require them to be represented internally by zeroes?

5.17Seriously, have any actual machines really used nonzero nullpointers?

5.20What does a run-time ``null pointer assignment'' error mean?


top