欢迎来到天天文库
浏览记录
ID:15939224
大小:44.00 KB
页数:7页
时间:2018-08-06
《动态二维数组的用法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、1、动态创建二维数组正确的做法:方法一:voidfun(intiRow,intiCol){CString**ppData;ppData=newCString*[iRow];for(inti=0;i2、i]=&pTemp[i*iCol];}}ppData就是我们创建的二维数组。错误的做法:voidfun(intiRow,intiCol){CString**ppData;ppData=newCString[iRow][iCol];}错误提示:errorC2540:non-constantexpressionasarraybound2、使用二维数组(1)我们在应用中有时候会需要把一个二维数组作为参数传入一个函数中,这个函数的形式怎样才是正确的?voidfun(CString**str,intiRow,intiCol);正确voidfun(CStringst3、r[][],intiRow,intiCol);错误,没有指定数组的列数!voidfun(CString*str,intiRow,intiCol);正确,可以在函数内部对str处理,变成一个二维数组(2)现在我们定义了fun,voidfun(CString**str,intiRow,intiCol);然后我们需要在外面传入一个二维数组,应该如何传入?正确做法:CString**test;//分配test的空间,给test初始化值……fun(test,2,1);错误的做法:CStringtest[2][1];//给test初始化值……fun(test,2,14、);会提示错误:cannotconvertparameter1from'WTL::CString[2][1]'to'WTL::CString**'(3)如果需要把申请的二维数组的指针传给一个struct的成员,要注意先申请struct的空间structInfo{CString**data;intx;inty;}错误的语句:Info*infoTest;//申请ppData空间infoTest->data=ppData;出错!崩溃正确的语句是:Info*infoTest=(Info*)malloc(sizeof(Info));正确//申请ppData空间in5、foTest->data=ppData;(4)删除二维指针对于方法一创建的数组:intj;for(j=0;j6、intiRow,intiCol){CString*pTemp;CString**ppData;pTemp=newCString[iRow*iCol];ppData=newCString*[iRow];for(inti=0;i7、(inti=0i8、参和形参都需用指针,形参值a,b改变,实参也将跟着改变。*/#include
2、i]=&pTemp[i*iCol];}}ppData就是我们创建的二维数组。错误的做法:voidfun(intiRow,intiCol){CString**ppData;ppData=newCString[iRow][iCol];}错误提示:errorC2540:non-constantexpressionasarraybound2、使用二维数组(1)我们在应用中有时候会需要把一个二维数组作为参数传入一个函数中,这个函数的形式怎样才是正确的?voidfun(CString**str,intiRow,intiCol);正确voidfun(CStringst
3、r[][],intiRow,intiCol);错误,没有指定数组的列数!voidfun(CString*str,intiRow,intiCol);正确,可以在函数内部对str处理,变成一个二维数组(2)现在我们定义了fun,voidfun(CString**str,intiRow,intiCol);然后我们需要在外面传入一个二维数组,应该如何传入?正确做法:CString**test;//分配test的空间,给test初始化值……fun(test,2,1);错误的做法:CStringtest[2][1];//给test初始化值……fun(test,2,1
4、);会提示错误:cannotconvertparameter1from'WTL::CString[2][1]'to'WTL::CString**'(3)如果需要把申请的二维数组的指针传给一个struct的成员,要注意先申请struct的空间structInfo{CString**data;intx;inty;}错误的语句:Info*infoTest;//申请ppData空间infoTest->data=ppData;出错!崩溃正确的语句是:Info*infoTest=(Info*)malloc(sizeof(Info));正确//申请ppData空间in
5、foTest->data=ppData;(4)删除二维指针对于方法一创建的数组:intj;for(j=0;j6、intiRow,intiCol){CString*pTemp;CString**ppData;pTemp=newCString[iRow*iCol];ppData=newCString*[iRow];for(inti=0;i7、(inti=0i8、参和形参都需用指针,形参值a,b改变,实参也将跟着改变。*/#include
6、intiRow,intiCol){CString*pTemp;CString**ppData;pTemp=newCString[iRow*iCol];ppData=newCString*[iRow];for(inti=0;i7、(inti=0i8、参和形参都需用指针,形参值a,b改变,实参也将跟着改变。*/#include
7、(inti=0i8、参和形参都需用指针,形参值a,b改变,实参也将跟着改变。*/#include
8、参和形参都需用指针,形参值a,b改变,实参也将跟着改变。*/#include
此文档下载收益归作者所有