请看一下这段代码:-
#include<stdio.h>
int main()
{
int arr[2][2]={1,2,3,4};
printf("%d %u %u",**arr,*arr,arr);
return 0;
}
当我编译并执行这个程序时,我得到了 arr 和 *arr 相同的值,这是二维数组的起始地址。 例如:- 1 3214506 3214506
我的问题是为什么取消引用 arr ( *arr ) 不会打印存储在 arr 中包含的地址处的值?
最佳答案
*arr 是长度为 2 的整型数组,因此与 arr 共享相同的地址。它们都指向数组的开头,这是相同的位置。
关于c - d引用二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2923214/