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

}

 

    return 0;

 

    //这些技术可用于构造一个矩阵类

 

    delete [row] pMatrix;

 

        delete [column] pMatrix[i];

 

    for (int i = 0; i < row; i++)

 

    //以上是分配,以下是释放

 

        pMatrix[i] = new int[column];

 

    for (int i = 0; i < row; i++)

 

    //为指针数组的每个元素分配一个数组

 

    int **pMatrix = new int*[row];

 

    //分配一个指针数组,其首地址保存在pMatrix中

 

    

 

    int column = N;  //二维数组的列数

 

    int row = N;     //二维数组的行数?

 

    // 方法二:使用数组指针