新建 文本文档.txt
上传用户:vipking888
上传日期:2015-02-03
资源大小:93k
文件大小:1k
源码类别:

3G开发

开发平台:

Visual C++

  1. #include
  2. #define N 4
  3. typedef int p[N];//方法一用到
  4. using namespace std;
  5. int main()
  6. {
  7.     int n = 0;
  8.     //方法一:使用typedef定义一个具有N个元素的数组类型
  9.     p *ptr1;      //定义二维数组??用法与二维数组相同
  10.     ptr1 = new p[N];
  11.     for(int i = 0; i < N; i++)
  12.         for(int j = 0; j < N; j++)
  13.             ptr1[i][j] = ++n;
  14.     cout << "方法一:" << endl;
  15.     for(i = 0; i < N; i++)
  16.     {
  17.         for(int j=0;j < N; j++)
  18.             cout << ptr1[i][j] << " ";
  19.         cout << endl;
  20.     }
  21.     delete[] ptr1;
  22.     cout << endl;
  23.     // 方法二:使用数组指针
  24.     int row = N;     //二维数组的行数?
  25.     int column = N;  //二维数组的列数
  26.      
  27.     //分配一个指针数组,其首地址保存在pMatrix中
  28.     int **pMatrix = new int*[row];
  29.     //为指针数组的每个元素分配一个数组
  30.     for (int i = 0; i < row; i++)
  31.         pMatrix[i] = new int[column];
  32.     //以上是分配,以下是释放
  33.     for (int i = 0; i < row; i++)
  34.         delete [column] pMatrix[i];
  35.     delete [row] pMatrix;
  36.     //这些技术可用于构造一个矩阵类
  37.     return 0;
  38. }
  39. c++ 中创建动态二维数组的程序代码
  40. 动态创建一维数组
  41. int *arr; //it can be any other type (char, float...) 
  42. arr = new int[n]; //n should be integer variable
  43. 动态创建二维数组
  44. int **arr; 
  45. int N,M; 
  46. cin >> N >> M; 
  47. arr = new int*[N]; 
  48. for(int i=0;i<N;i++) { arr[i] = new int[M]; }