函数参数有传值和传址两种,你只要把数组的首地址传过去就可以了,函数参数是个指针,接收数组首地址,就可以在子函数中用指针调用数组中的数据。
成都网站建设、成都网站设计的关注点不是能为您做些什么网站,而是怎么做网站,有没有做好网站,给创新互联一个展示的机会来证明自己,这并不会花费您太多时间,或许会给您带来新的灵感和惊喜。面向用户友好,注重用户体验,一切以用户为中心。
对于矩阵,把它包装成一个struct应该更加方便些。传参数时装相应struct的指针就可以获得维数信息了,如要直接使用二维数组,传int**,参数应该提供给函数相应的维数信息
你的
代码
不全,我只能给你分析一下这种情况常见的错误了。
1、要返回
数组
定义
在子
函数
中。在函数体内部定义的数据
变量
,如果未加修饰符(static和extern),那么她是局部的,函数执行完毕之后
内存
释放,造成你访问
错误
。你
下边
的那个例子定义的数组是
全局变量
,先不说了下班了晚上补充
如果定义数组是int a[4];的话,那么数组a的内存就会被系统释放,不能返回
如果定义数组是static int a[4];的话,那么数组a的内存可以返回到主函数里,也就是内存传递
可以直接传入数组名
main(){
int a[5] = .....;
func1(a);
func2(a);
}
void func1(int a[5]){
}
void func2(int *a){
}