int **作为参数和main函数中的int **有什么区别?

时间:2017-10-27 13:24:25

标签: c++ c pointers

以下代码中的问题。 结果是:

9232312
2

y中的fun类型是指向int'指针的指针。然后*y必须是指向int的指针。所以它应该打印一个地址号(如9232312等),但为什么结果是2?

void fun(int **y){
    printf("%d\n", *(y+1));
}
int main(){
    int a[2][2] = {1,2,3,4};
    printf("%d\n", *(a+1));
    fun((int **)a);
    return 0;
}

我很困惑的不是指针或数组的问题。我不明白为什么结果不同?为什么从数组转换为指针会发生错误?显然你的评论和标记我的问题重复没有帮助..

0 个答案:

没有答案