小编Vla*_*hka的帖子

双指针 C/C++

有人可以向我解释双指针如何工作吗?例如,在这段代码中,为什么它会打印最后打印的值?

int main(void) {
    int anArray[] = {5,16,33,99};
    int * p = anArray;

    printf("*p = %d\n", *p);
    p++;
    printf("Now *p = %d\n", *p);

    int * q = &anArray[3];
    int ** x = &q;
    **x = 12;
    *x = p;
    **x = 42;
    q[1] = 9;

    for (int i =0; i < 4; i++){
        printf("anArray[%d] = %d\n",i, anArray[i]);
    }

    return EXIT_SUCCESS;
}
Run Code Online (Sandbox Code Playgroud)

c pointers

2
推荐指数
1
解决办法
2450
查看次数

标签 统计

c ×1

pointers ×1