收藏 分享(赏)

二维数组传参传值.doc

上传人:11xg27ws 文档编号:9299941 上传时间:2019-08-01 格式:DOC 页数:10 大小:37KB
下载 相关 举报
二维数组传参传值.doc_第1页
第1页 / 共10页
二维数组传参传值.doc_第2页
第2页 / 共10页
二维数组传参传值.doc_第3页
第3页 / 共10页
二维数组传参传值.doc_第4页
第4页 / 共10页
二维数组传参传值.doc_第5页
第5页 / 共10页
点击查看更多>>
资源描述

1、二维数组传参|传值 先给出问题:像下面这样的数组,在函数中如何传参?也就是说如何保证虚参与实参类型一致。char str_arr310 = “yes“,“no“,“uncertain“;char *str_array = “yes“,“no“,“unsure“;函数原型:void func1( char (*a)10 )void func2( char *a )调用:func1( str_arr );func2( str_array);如果向 func2()中传入 str_arr 会怎么样呢?编译器会警告:传递参数 1 (属于 func2)时在不兼容的指针类型间转换。即虚参与实参类型不一致。同

2、理,也不能向 func1()中传入 str_array。我们给出完整的测试程序:/*二维数组传参测试程序*/#include void func1( char (*a)10)int i;for(i=0;iint main()char str_arr310 = “yes“,“no“,“uncertain“;char *str_array = “yes“,“no“,“unsure“;char *str3 = “a“,“b“,“c“;int i;for(i=0;iint main()int array34;int *p = array;*/rootlocalhost ansi_c# gcc test

3、2.c test2.c: 在函数 main 中:test2.c:5: 警告:从不兼容的指针类型初始化rootlocalhost ansi_c# 虽然从本质上讲 int array34 的数组名相当于二级指针,但它不等同于一般的二级指针,因为它还含有数组相关的信息,所以在 main 函数中:char str_arr310 = “yes“,“no“,“uncertain“;for(i=0;i=0 for( i=0; ivoid f( char *a, int n)int i;printf(“%c/n“,*( (char*)a+0 ) );printf(“%c/n“,(char * )a)n );p

4、uts(“-OK“);for(i=0;ivoid f( char *a, int n)int i;printf(“%c/n“,*( a+0 ) );printf(“%c/n“,(a)n );puts(“-OK“);for(i=0;ivoid Test(char a2)int size = sizeof( a );/4int main(void)char a32 = a,b,c,d,e,f;int size =sizeof( a );/6Test( a );return 0;来源:http:/ func1(int *p,int row, int column)调用:int main()int m

5、,n;int *b;cin m;cin n;b = new int *m;for(int i=0; im; i+)bi = new intn;func1(b,m,n);return 0;我习惯的做法是不用指针数组,定义一个大块( 这种情况主要面向每行行数相同 ):比如现在有一个 W*H的矩阵(H 个长度为 W 的数组),你就直接定义一个 float 型指针: float* pfBuffer;然后动态分配大小 pfBuffer = new floatW*H;这个 buffer 在用完之后要调用 delete pfBuffer;来释放.你传递这个 float 指针,传递行列数之后,你如果要访问 y 行 x 列的话, 只要算一下它在哪儿, int addr = y*W+x;就是其“ 地址“了,你要访问它,直接使用 pfBufferaddr就 OK 了, 实际上我做图象处理的时候全部这样做,因为这样的地址访问很明了,不会给阅读带来不便, 而且作为大部分的时候, 我们用矩阵比较多,列数不等的情况很少。这只是个人见解。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报