Say:
int fn1(void)
{
int *p = NULL;
return !p;
}
int fn2(void)
{
static int *p;
return !p;
}
On a machine where NULL is represented internally by 0, both these functions
will return 1.
On machines where NULL is represented internally by a non-0 value, fn1() will
still return 1, but what about fn2()? That is, p is initialised to 0, but is
that an 'internal' 0 (function returns 0) or a 'pointer context' 0 (function
returns 1)?
BTW sorry if I've asked this before, but if there was a definitive answer, I've
forgotten what it was.
John