storing an integer constant other than zero in a pointer variable
Posted
by benjamin button
on Stack Overflow
See other posts from Stack Overflow
or by benjamin button
Published on 2010-03-19T12:23:56Z
Indexed on
2010/03/19
13:31 UTC
Read the original article
Hit count: 224
int main()
{
int *d=0;
printf("%d\n",*d);
return 0;
}
this works fine.
>cc legal.c
> ./a.out
0
if i change the statement int *d=0;
to int *d=1;
i see the error.
cc: "legal.c", line 6: error 1522: Cannot initialize a pointer with an integer constant other than zero.
so its obvious that it will allow only zero.i want to know what happens inside the memory when we do this int *d=0
which is making it valid syntax.
I am just asking this out of curiosity!
© Stack Overflow or respective owner