1
我有一個看起來像這樣轉換指針到指針二維數組
float Determinant(unsigned int n, float a[][n])
的功能,我想通過一個雙指針
float **a
是有辦法將float **a
投射到float a[][n]
?
我有一個看起來像這樣轉換指針到指針二維數組
float Determinant(unsigned int n, float a[][n])
的功能,我想通過一個雙指針
float **a
是有辦法將float **a
投射到float a[][n]
?
不,沒有辦法做到這一點。數組a
在聲明爲函數參數時衰減爲指向第一個元素的指針,數組指針爲float (*)[n]
。這個數組指針類型和數組float a[][n]
都與float**
類型沒有任何關係。
需要將float**
傳遞給此函數可能源於有缺陷的程序設計。也許你錯在爲二維數組動態分配基於指針的查找表?如果是這樣,請參見Correctly allocating multi-dimensional arrays。
非常感謝! –