【发布时间】:2012-02-09 00:06:18
【问题描述】:
为什么函数中的打印语句与顶层打印不匹配?
#include<stdio.h>
#include <stdlib.h>
#include<math.h>
void bar(float **foo)
{
printf(" &foo[0][0] %f \n", &foo[0][0]);
}
int main()
{
float mat[5][5], **ptr;
mat[0][0] = 3.0f;
ptr = (float **)mat;
printf(" mat[0][0] %f \n", mat[0][0]);
printf(" &ptr[0][0] %f \n", &ptr[0][0]);
bar(ptr);
}
结果:
mat[0][0] 3.000000
&ptr[0][0] 3.000000
&foo[0][0] -0.005548
【问题讨论】:
-
你为什么使用 &foo 和 &ptr?
-
我显然做错了...我要做的就是弄清楚如何将二维浮点数组传递给我的函数...
-
阅读comp.lang.c FAQ的第6部分。
-
这样做:
void bar(float foo[5][])