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。
非常感谢! –