Ex7_2.cpp
上传用户:wuzhousb
上传日期:2022-07-12
资源大小:380k
文件大小:1k
源码类别:

书籍源码

开发平台:

Visual C++

  1. //【例7.2】 动态创建和删除一个m*n个元素的数组。采用指针数组方式来完成二维数组的动态创建
  2. #include <iostream>
  3. #include<cstdlib>
  4. using namespace std;
  5. void display(double **);
  6. void de_allocate(double **);
  7. int m=4;                               //行数
  8. int n=6;                               //列数
  9. int main(){
  10. int i,j;
  11. double **data;
  12. data = new double*[m];             //建立指向组成二维数组各行的指针数组
  13. if ((data)==0){
  14. cout<<"Could not allocate. Bye ...";
  15. return -1;
  16. }
  17. for(j=0;j<m;j++){
  18. data[j] = new double[n];       //建立二维数组各行
  19. if (data[j] == 0){
  20. cout << "Could not allocate. Bye ...";
  21. return -1;
  22. }
  23. }
  24. for (i=0;i<m;i++)
  25. for (j=0;j<n;j++)
  26. data[i][j]=i*n+j;          //数组元素赋值
  27. display(data);
  28. de_allocate(data);
  29. return 0;
  30. }
  31. void display(double **data){
  32. int i,j;
  33. for (i=0;i<m;i++){
  34. for (j=0;j<n;j++) cout<<data[i][j]<<"t";
  35. cout << endl;
  36. }
  37. }
  38. void de_allocate(double **data){
  39. int i;
  40. for (i=0;i<m;i++) delete[] data[i];  //注意撤销次序,与设置相反
  41. delete[] data;
  42. }