考虑下面的指针代码段

问题描述 投票:0回答:1
#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,这里我对指针工作感到困惑。有人可以帮助我在这里形象化这个概念吗?

c
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.