C和C++里如何给多维数组动态分配内存?

来源:百度知道 编辑:UC知道 时间:2024/05/23 20:24:14
请以二维数组为例举两个例子来说明。谢谢。
虽然例子我只要二维的,我要的是一种全面性的做法,如果我需要一个四维的数组,每个都挨个分配很累的。

typename * p= new typename
typename是你要返回的类型 函数new实现动态分配 指针p指向该内存区域
比如 int * p = new int[array[x][y]]; //x、y是你数组的变量
还有别忘了回收内存 delete [] p;

上面是C++里的 C里面要用malloc
例:int * p=(int *)malloc(sizeof(int)* (x*y));
回收用free(p);

你应该给我追加分!给个20吧 哈哈

开辟 10*10
int **p;

*p=new int [10];

for(int i=0;i<10;i++){
p[i]=new int [10];
}
请给分谢谢

没有简单的方法 要简单 请写 vector<vector<vector<.....vector<int>>>

用二维指针
多看看书了