私が bash で書いたこの実装に似た同等のソリューションはありますか? 通常、私は常に動的割り当てを次のように処理してきました。
(2 番目の実装は柔軟性があり、必要な入力の数を正確に知る必要がなく、そのまま入力できるため、2 番目の実装が気に入っています。C で同様のアプローチを実現するにはどうすればよいでしょうか?
C 実装:
double* get_data(int* data_size)
{
double* data_set = NULL;
int size = get_size();
int i;
*data_size = size;
data_set = malloc(size * sizeof(double));
for(i = 0; i < size; i++)
{
printf("Enter statistical data: ");
scanf("%lf", &data_set[i]);
}
return data_set;
}
バッシュの実装:
data_set=()
while IFS= read -r -p 'Enter statistical data (empty line to quit):' input; do
[[ $input ]] || break
data_set+=("$input")
done