C/C++函数返回二维数组指针问题

C/C++函数返回二维数组指针问题方法1:需要对指针有较好的理解int(*f())[2]{int(*m)[2]=newint[2][2];m[0][0]=1;m[0][1]=0;m[1][0]=2;m[1][1]=0;returnm;}//总感觉这种函数定义很怪,可以使用typedef重定义下类型,如下:typedefint(*Matrix)[2];Matrixf(){

大家好,欢迎来到IT知识分享网。C/C++函数返回二维数组指针问题方法1:需要对指针有较好的理解


int(*f())[2]


{



int (*m)[2]=new int[2][2];


m[0][0]=1;m[0][1]=0;


m[1][0]=2;m[1][1]=0;


return m;




}


//总感觉这种函数定义很怪,可以使用typedef重定义下类型,如下:


typedef int(*Matrix)[2];


Matrix f()


{



int (*m)[2]=new int[2][2];


m[0][0]=1;m[0][1]=0;


m[1][0]=2;m[1][1]=0;


return m;




}




方法2:推荐的方法


int ** f()


{



int **m=new int*[2];


m[0]=new int[2];


m[1]=new int[2];


m[0][0]=0;m[0][1]=1;


m[1][0]=0;m[1][0]=1;


return m;


}


方法3:用一维数组模拟二维数组


int *f()


{



int *m=new int[2*2];


m[0*2+0]=0;


m[0*2+1]=1;


m[1*2+0]=0;


m[1*2+1]=1;


return m; 


}

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/15790.html

(0)

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信