申し訳ありませんが、関連する多くの質問がすでに寄せられていることを知っているので、非常に簡単にします。
数年間のプログラミングにもかかわらず、関数内の配列 (または複数) のサイズを変更および変更するための正しい構文を見つけることができません。たとえば、配列内で定義されている "n" 個の数値のセットで配列を埋める関数が必要だとします。
int main(int argc, char *argv[]) {
float *data = NULL
int n = myfunction(data);
for(i=0;i<n;i++) printf("%f\n",data[i]);
free(data);
}
int myfunction(float *input) {
int i,n=10;
input = (float *) realloc( input, n*sizeof(float) );
if(input!=NULL) {
for(i=0;i<n;i++) input[i] = (float)i;
return(n);
else return(-1)
}
おそらくポインターへのポインターを使用する必要があるため、これが機能しないことはわかっていますが、関数の内部と外部で使用するポインター、ポインターからポインター、およびアドレス表記のどの組み合わせを使用するかを解決できません。
簡単な提案をいただければ幸いです。