我在理解 C 中的二维数组时遇到了一些困难。
让我们看看这个例子:
#include <stdio.h>
void foo(int arr[2][3]) {
printf("%d", *arr);
}
int main() {
int arr[2][3] = { {10, 20, 30},
{40, 50, 60}
};
foo(arr);
return 0;
}
我有几个问题:
- arr的值是多少?是arr[0][0]的地址吗?
- 如果arr是 arr[0][0] 的地址,那么为什么行:
printf("%d", *arr);
不打印值 10? - 每次我运行它,我都会得到一个奇怪的数字。这个数字是什么意思?
谢谢 :)