#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; }

|