来看下面这段代码:
int main()
{
int n = 10;
char *pc = (char*)&n;
int *pi = &n;
printf("%p\n", &n);
printf("%p\n", pc);
printf("%p\n", pc+1);
printf("%p\n", pi);
printf("%p\n", pi+1);
return 0;
}
输出的5个结果分别会是什么呢?
我们先来分析一下:
这里要记住的知识点是:
char* 的指针解引用就只能访问一个字节,而 int* 的指针的解引用就能访问四个字节