use of NULL
mcdonald at uxe.cso.uiuc.edu
mcdonald at uxe.cso.uiuc.edu
Fri Feb 24 02:06:00 AEST 1989
Subject is the flame wars resulting from the never-ending NULL
(presumable pointer) affairs.
Chris Torek claims (correctly) that if one wishes to pass a null
pointer to a subroutine, that if you cast it to the proper type,
it will work:
sub((char *)0); /* pass a character pointer*/
subd((double *)0); /* pass a pointer to double */
I ask: Is it not possible to do away with this if one uses
functions prototypes? Is this correct (I mean, ABSOLUTELY correct?)
void sub(char *);
void subd(double *);
sub(0);
subd(0);
void sub(char * xchar)
{ ... }
void sub(double *ddouble)
{ ... }
I ask this as a question, not as a proposition of a flame.
I have written a lot of programs for mixed (VERY mixed) model programs
on the PC, and used strict prototypes for all. They seem to work
fine. I never cast anything in arguments, unless it is a signed to
unsigned (or vice-versa) conversion, and in that case I am paranoid
enough to write out each step explicitly. Am I doing a no-no?
Doug McDonald
More information about the Comp.lang.c
mailing list