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

Reply via email to