c - d引用二维数组

标签 c arrays 2d

请看一下这段代码:-

#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/

相关文章:

java - Java可以使用用户定义的对象作为二维数组键的索引吗?

c++ - 为什么相同数组代码的执行时间存在差异?

c - 文件扫描 C 中的二维数组

c - 从 makefile 中压缩源代码并将其存储在特定位置

c++ - 如何使用 C++ 成员函数作为 C 框架的回调函数

c - 我可以用C++和C#以及Java做的所有事情吗?

c - glibc:动态链接器错误的自定义句柄

php - 使用 array_diff 比较关联数组和数值数组

c++ - 2D Box Collision - 这是对的吗?

java - 先遍历二维数组行,再遍历列