0
私は配列をfloatの行列を保持するために割り当てようとしています。渡される値はint(行と列)で、関数はポインタです。これは私の関数定義です:行列の配列を動的に割り当てる
float *matrix(int rows,int cols)
{
int i=0;
float *m=NULL;
m=(float *)malloc(rows*sizeof(int));
for (i=0;i<rows;i++)
{
m[i]=(float*)malloc(cols*sizeof(int));
}
}
私はこれが間違っていると感じています。私も実行しようとするとエラーが発生します。 どこに問題がありますか?代わりに浮動小数点数にする必要がありますか? malloc関数が正常に実行され、私はNULLを返すことwan't失敗していない場合
編集****
float *matrix(int rows,int cols)
{
int i=0;
float **m=NULL;
m=(float *)malloc(rows*sizeof(float));
for (i=0;i<rows;i++)
{
m[i]=(float *)malloc(cols*sizeof(float));
}
}
大丈夫。 ここでこのコードにする必要があります。
if(m[i]==NULL)
{
return NULL;
}
'フロート*' ISN」を格納するためのメモリを割り当てますtは 'float *'の配列です。 – tkausl