int main()
{
char *p; (int *P)
char ch[6]="fucko";
p=ch;
printf("%c",*(p+1));
}
得到的字符为u, 即第二个字符, 当把定义指针的char *P替换成int *p时, 输出的却是o, 即第五个字符. 所以可以看出, 定义指针时, 指针前的int或者是char主要的功能是决定你将指针的地址+1时前进几个字节. 这也是为什么指针的格式要与被指向内容的格式相同, 谁都不希望当定义一个char型的指针, 但是用在int形数组的时候导出下一个元素要p+4.