以下代码中的问题。 结果是:
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;
}
我很困惑的不是指针或数组的问题。我不明白为什么结果不同?为什么从数组转换为指针会发生错误?显然你的评论和标记我的问题重复没有帮助..