新建 文本文档.txt
上传用户:vipking888
上传日期:2015-02-03
资源大小:93k
文件大小:1k
- #include
- #define N 4
- typedef int p[N];//方法一用到
- using namespace std;
- int main()
- {
- int n = 0;
- //方法一:使用typedef定义一个具有N个元素的数组类型
- p *ptr1; //定义二维数组??用法与二维数组相同
- ptr1 = new p[N];
- for(int i = 0; i < N; i++)
- for(int j = 0; j < N; j++)
- ptr1[i][j] = ++n;
- cout << "方法一:" << endl;
- for(i = 0; i < N; i++)
- {
- for(int j=0;j < N; j++)
- cout << ptr1[i][j] << " ";
- cout << endl;
- }
- delete[] ptr1;
- cout << endl;
- // 方法二:使用数组指针
- int row = N; //二维数组的行数?
- int column = N; //二维数组的列数
-
- //分配一个指针数组,其首地址保存在pMatrix中
- int **pMatrix = new int*[row];
- //为指针数组的每个元素分配一个数组
- for (int i = 0; i < row; i++)
- pMatrix[i] = new int[column];
- //以上是分配,以下是释放
- for (int i = 0; i < row; i++)
- delete [column] pMatrix[i];
- delete [row] pMatrix;
- //这些技术可用于构造一个矩阵类
- return 0;
- }
- c++ 中创建动态二维数组的程序代码
- 动态创建一维数组
- int *arr; //it can be any other type (char, float...)
- arr = new int[n]; //n should be integer variable
- 动态创建二维数组
- int **arr;
- int N,M;
- cin >> N >> M;
- arr = new int*[N];
- for(int i=0;i<N;i++) { arr[i] = new int[M]; }