回答編集履歴
2
冗長な記述を削除。
answer
CHANGED
@@ -28,7 +28,7 @@
|
|
28
28
|
別のやり方を2つ示します。以降のやり方は質問の解決の仕方としてややオーバースペックかもしれません。
|
29
29
|
|
30
30
|
funcB2()
|
31
|
-
扱うデータ型を、配列要素5のchar*配列型という1つの型というふうに風にとらえてそれのポインタを渡すというやり方があります。
|
31
|
+
扱うデータ型を、配列要素5のchar*配列型という1つの型というふうに風にとらえてそれのポインタを渡すというやり方があります。
|
32
32
|
これならば引数のデータ型のサイズ情報がコンパイル時に確定して渡されるのでfuncBでそのサイズ情報を使用することが出来ます。
|
33
33
|
|
34
34
|
funcB3()
|
1
誤字修正。
answer
CHANGED
@@ -19,7 +19,7 @@
|
|
19
19
|
提示されているプログラムにおいて、使われているchar*型の配列の要素数はASで固定されているという暗黙の了解で全体が記述されています。
|
20
20
|
この前提が崩れない限りは、引数でサイズが渡ってこないのならば別のところから取得すれば良く、そういう意味では要素数「AS」を直接掛けるやり方は正解のひとつとなります。
|
21
21
|
|
22
|
-
@y_waiwai さんが指摘されている下記のやり方も、funcBの配列「b」なら配列サイズ情報にアクセス出来、「c」の配列サイズと等しくなっいるためそれを使えば良いという考え方になります。
|
22
|
+
@y_waiwai さんが指摘されている下記のやり方も、funcBの配列「b」なら配列サイズ情報にアクセス出来、「c」の配列サイズと等しくなっているためそれを使えば良いという考え方になります。
|
23
23
|
```
|
24
24
|
memcpy(b, c, sizeof(b));
|
25
25
|
```
|