回答編集履歴

1

回答に追記

2020/09/27 04:43

投稿

y_waiwai
y_waiwai

スコア87719

test CHANGED
@@ -1,3 +1,43 @@
1
1
  a でいいです
2
2
 
3
3
  まあ、先頭アドレスを渡せばいいってことで、a[0]でも同じ値を渡せれるんですが、型が違ってきますね
4
+
5
+
6
+
7
+ ---
8
+
9
+ ```C
10
+
11
+ void kansu(int arg[3][3])
12
+
13
+ {
14
+
15
+ // なんやかや
16
+
17
+ }
18
+
19
+
20
+
21
+ int a[3][3]={{1,2,3},{4,5,6},{7,8,9}};
22
+
23
+
24
+
25
+ int main(void)
26
+
27
+ {
28
+
29
+ kansu(a); // OK
30
+
31
+
32
+
33
+ kansu(a[0]); // int** を渡さなければいけないところに、int* を渡してます
34
+
35
+ kansu(&a[0][0]); // これも同上
36
+
37
+ }
38
+
39
+
40
+
41
+ ```
42
+
43
+ C言語では、コンパイルエラーとはなりませんが、ワーニングが出ますね