每次写算法程序的时候总是纠结在动态分配内存上面,这次总算是明白了

来源:互联网 发布:长春盘古网络投诉电话 编辑:程序博客网 时间:2024/05/16 12:22
#include <iostream>using namespace std;int main(int argc, char ** argv){int len=5;int low=4;int size=3;// define array arr[size][low][len]; arr[3][4][5];int ***arr;arr=new int **[size];for(int i=0; i<size; i++){arr[i]=new int *[low];}for(int i=0; i<size; i++){for(int j=0; j<low; j++)arr[i][j]=new int[len];}//printf("Error last!");for(int i=0; i<size; i++){for(int j=0; j<low; j++){for(int m=0; m<len; m++){arr[i][j][m]=i+j+m;cout<<arr[i][j][m]<<" ";}cout<<endl;}cout<<endl;}for(int i=0; i<size; i++){for(int j=0; j<low; j++)delete []arr[i][j];// 删除 列的指针}for(int i=0; i<size; i++){delete []arr[i];// 删除 行的指针}delete []arr;// 删除 高的指针/*int len=5;int low=4;cout<<"Error before1"<<endl;int ** arr;arr=new int *[len];//这样声明的数组是arr[5][4]cout<<"Error before0"<<endl;for(int i=0; i<len-1; i++){arr[i]=new int[low];}cout<<"Error before"<<endl;for(int i=0; i<low; i++){for(int j=0; j<len; j++){arr[i][j]=i+j;cout<<arr[i][j]<<" ";}cout<<endl;}cout<<"-------------------------------"<<endl;for(int i=0; i<low; i++){for(int j=0; j<len; j++){//arr[i][j]=i+j;printf("[%p]\t", arr[i][j]);}cout<<endl;}*//*int group;int *** arr;**arr=new int **[group];cin>>group;for(int i=0; i<group; i++){int size, form;for(int i)}*/system("pause");return 0;}

0 0
原创粉丝点击