正文

二维数组动态分配内存2008-08-06 21:28:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/bclz/37399.html

分享到:

如果使用以下方式分配,将无法通过编译
double * x;
x=new double[10][10];

原因是new没有分配多维数组的能力。
可以直接new double[100]分配一个一维数组来代替两维的,用的时候做一下下标转换即可。
或者也可以分配一个指针数组,再为每一个指针分配一个数组来实现两维的堆内存分配。
也可以用如下形式:
A=new int*[10];
for(int i=0;i<10;i++)
A[i]=new int[10];
注意:二维数组的头指针是一个指针的指针,也就是double**,int**...所以必须分配两次.所以例子中A的类型应声明为int**.

阅读(2435) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册