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