复制指针值和打印指针(不是指向内存中存储的值)

时间:2020-02-04 16:24:40

标签: c pointers

我不确定我在这里做错了什么。

int data[x][y];
int **pointerCopy = (int**) data
printf("%p, %p \n" pointerCopy, data);

由于pointercopy复制的是数据指针,因此打印的值不应该相同吗?但是不是。

1 个答案:

答案 0 :(得分:0)

如评论中所述,在修复语法错误并忽略警告之后,两个指针的输出值 相同。

这是代码:

~/Desktop/PLAYGROUND$ cat aaa.c
#include<stdio.h>

int main(){
    int x, y;
    x = y = 10;
    int data[x][y];
    int **pointerCopy = (int**) data;
    printf("%p, %p \n" ,pointerCopy, data);
}

这是输出:

0x7ffee6e4c4a0, 0x7ffee6e4c4a0