Abandon NULL for (0)

D. Chadwick Gibbons chad at csd4.csd.uwm.edu
Fri Sep 22 05:01:10 AEST 1989


In article <14718 at bfmny0.UU.NET> tneff at bfmny0.UU.NET (Tom Neff) writes:
|In article <6502 at ux.cs.man.ac.uk> ian at ux.cs.man.ac.uk (Ian Cottam) writes:
|> I propose that the integral constant expression (0) be used instead of
|> NULL.
|
|However (0) is not explicitly cast to a pointer type, as NULL may be
|presumed to be when appropriate.

	So?  When 0 used in a comparison with a pointer, it is automatically
promoted to an integer pointer of an appropriate type.

|declare or define, an external routine that accepts a single pointer as
|its argument, by saying myproc((0)), the compiler will Miranda it into a
|regular int, rather that ((void *) 0), which might have a different size
|and representation.

	yeah, talk about assuming sizeof * = sizeof int. Nononono!

If you're really parinoid about using NULL, because your compiler may do
something like the above person is suggestion, then try this:

#define NIL	(0)

simple, no?



More information about the Comp.lang.c mailing list