top/contents search

5. Null Pointers

5.1 What is this infamous null pointer, anyway?

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


5.4 What is NULL and how is it defined?


5.6 If NULL were defined as follows:

	#define NULL ((char *)0)
wouldn't that make function calls which pass an uncast NULL work?

5.7 My vendor provides header files that #define NULL as 0L. Why?

5.8 Is NULL valid for pointers to functions?

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

5.10 But wouldn't it be better to use NULL (rather than 0), in case the value of NULL changes, perhaps on a machine with nonzero internal null pointers?

5.11 I once used a compiler that wouldn't work unless NULL was used.

5.12 I use the preprocessor macro

#define Nullptr(type) (type *)0
to help me build null pointers of the correct type.


5.14 Why is there so much confusion surrounding null pointers? Why do these questions come up so often?

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

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




5.20 What does a run-time ``null pointer assignment'' error mean? How can I track it down?


contents search
about this FAQ list   about eskimo   search   feedback   copyright

Hosted by Eskimo North