#include <stdio.h> int main(void) { char x[5] = { 1, 2, 3, 4, 5 }; char *ptr = (char*)(&x + 1); printf("%d %d\n", *(x + 1), *(ptr - 1)); return 0; }
我不知道为什么会显示2 5,这里我对指针工作感到困惑。有人可以帮助我在这里形象化这个概念吗?