可変長配列を取る必要がある ac 関数を設計する場合、次のいずれかを選択するにはどうすればよいですか?
- 配列の長さを与えるために別のパラメータを追加しますか? と
- 特殊なマーカー (「\0」など) で配列を終了しますか?
- 他のオプション?何?
例えば
void myfunc(int arr[], int arr_length) { ... }
...
int arr[3] = { 1, 2, 3 };
myfunc(myarr, 3);
また
void myfunc(int arr[]) { ... }
...
int arr[4] = { 1, 2, 3, '\0' };
myfunc(arr);