将二维数组传递到函数怎么做?

yuli 2003-05-14 09:12:22
本人需要做一个二维fft的算法,打算编写一个函数,函数中要用到主程序中的二维数组,该数组的大小是未知的。
请问如何传递参数,函数声明怎么写?
...全文
93 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
boyfling 2003-05-14
  • 打赏
  • 举报
回复
这种情况推荐使用全局变量
gop 2003-05-14
  • 打赏
  • 举报
回复
faint,脑子一热写错了,搂主抱歉了。

MelodyCanFLY 2003-05-14
  • 打赏
  • 举报
回复
关注
lth_81 2003-05-14
  • 打赏
  • 举报
回复
传递这个二维数组的首地址,其次是维数,毕竟数组在内存中还是一个一个排列的。
guoke888 2003-05-14
  • 打赏
  • 举报
回复
虽然是二维数组,其存储方式还是一维的,你在参数中直接定义成一维数组就可以了.传递的是地址 .
for example:

void mytest(int b[])
{

}
void main()
{
int a[][];
mytest(a);
}
gop 2003-05-14
  • 打赏
  • 举报
回复
主程序:

double yourArray[XXXX][XXXX]....
函数:

f(double Arry[][],MaxColumn,MAXLine)
{
//这里正常使用Array,但千万注意不要越界。边界值通过MaxColumn,MAXLine参数传入。
}



调用:
f(yourArry,XXXX,YYYY);


btw,我曾写过一个很漂亮的fft程序,够干净而且够快,可惜不在手边。

忠告:
1。 三角函数不要现用现算,而是现造个表,把用到的函数值预先算好放进去。
2。用double就好,用float也不会更快:你的数学协处理器处理会搞定的。
zdleek 2003-05-14
  • 打赏
  • 举报
回复
在c/c++中,简单类型的多维数组的传递与一位数组类似(传数组的指针),只是通常要把维数和每维的元素个数也传进去。
qhgary 2003-05-14
  • 打赏
  • 举报
回复
void funname(int** p,int m,int n)
{}
m,n是维数,int**根据需要自己改,只要是2次指针就可以了
yzb1000 2003-05-14
  • 打赏
  • 举报
回复
大小未知?
就是动态分配的也会知道大小的啊

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧