コードに問題があります。お役に立てば幸いです。奇数を入力すると、セグメンテーション違反が発生し、偶数の場合はバス エラーが発生します。データ配列に 00 を追加して、長さ Nprime から入力した新しいより大きな長さ Ndprime にしようとしています。関数 *fpad でこれを行っています。私の paddata 配列には Nprime 複素数 (つまり 2*Nprime コンポーネント) が含まれており、2*Ndprime のサイズにする必要があります。
double *fpad(double *paddata, unsigned int Nprime, unsigned int Ndprime)
{
if (Nprime!=Ndprime)
{
paddata=(double*)realloc(paddata,(sizeof(double)*((2*Ndprime)-1)));
for(i>=((2*Nprime));i<(2*Ndprime);i++) paddata[i]=0;
if(paddata==NULL) /* Checks memory is reallocated */
{
printf("\nError reallocating memory.\n");
free(paddata);
exit(EXIT_FAILURE);
}
}
return(paddata);
}
助けていただければ幸いです。何が間違っているのかわかりません。