>> Sorry for annoyance. Is VC++ 2010 Express compliant?
Yes. What compiler are you using?
None.
>>I had an impression we're not talking pointers in general
That was referring to the printf() line, where the format specifer string uses %d yet only one of the 4 bytes of the integer is in the parameter list.
Huh? this one?
printf("The number is %d",*(char*)p1);
there is a pointer passed there.