私はCから休止を取り、再びそれに戻っています。
doubleの2D配列を作成する場合は、次の2つの方法で作成できます。
double** m_array = (double**) malloc(2*sizeof(double*));
double* m_array = (double*) malloc(2*sizeof(double));
また
double array[2][2];
しかし、mallocされた配列を渡すのではなく、他の配列を渡す場合は、次の2つの規則があるようです。
//allowed for passing in malloc'd array, but not for other array
func_m(m_array) //allowed
func_m(array) //disallowed
func_m(double** m_array)
//allowed for passing in either array; required for passing in non-malloc'd array
func(m_array) //allowed
func(array) //allowed
func(double array[][2])
最初は、ポインターの配列へのポインターであること以外の情報は必要ありません。しかし、それはmallocされた配列にしかなり得ません。
2番目では、double*の配列が指す各配列の長さを渡す必要があります。これはばかげているようです。
私は何かが足りないのですか?前もって感謝します。