2次元配列の1 &がたくさんあるコードを書いています。私は "エラー:領域を割り当てることができません"と思っていますが、あまりにも多くのメモリが割り当てられていると思います。私は "malloc"と "free"関数を使用しますが、私はそれらを確実に使用しているかどうかはわかりません。 Cのメモリ管理に関する良い例がどこからわかるのか分かりますか?Cでメモリを解放するにはどうすればよいですか?
ので..私はちょうど1つのアルゴリズムの作業を取得しようと、今のところ、このコードは、関数の後だけの機能である
//memory allocation for 1D arrays
buffer = malloc(num_items*sizeof(double));
//memory allocation for 2D arrays
double **cross_norm=(double**)malloc(150 * sizeof(double *));
for(i=0; i<150;i++)
{
cross_norm[i]=(double*)malloc(num_items*sizeof(double));
}
//code
Window(N, window_buffer);
STFTforBMP(buffer,N,f, window_buffer);
getMagnitude(buffer,f, N, magnitude);
calculateEnergy(flux,magnitude, f);
calculateExpectedEnergy(expected_flux, candidate_beat_period, downbeat_location, f);
calculateCrossCorrelation(cross, flux, expected_values, f);
findLargestCrossCorrelation(&cross_max, cross, f);
normalizeCrossCorrelation(cross_norm, &cross_max, cross, f);
...............
私は
free
機能を使用する必要がありますどのように
?
おそらくあなたがしようとしたものを私たちに示すために、より建設的だろうか? – cnicutar
あなたのコードを表示します。 – Pheonix
あなたがしていることの例を挙げてください。さもなければあなたの質問はあまりにも一般的すぎて答えられません。スペックを読んでください。 – akira