分享

动态二维数组按下标访问

 心不留意外尘 2016-05-23

   http://blog.csdn.net/qtyl1988/article/details/8033832

2012


 下面的代码先申请一个动态二维数组,然后按照下标访问其中的元素。这是个很简单的问题,我只是想强调一下,顺便辟谣。因为之前看网上某些文章说c++申请动态二维数组是不能按照下标访问的,还要经过自己将下标转换为相对地址,理由是动态申请的二维数组,虽然行内存储空间连续,但是行间不连续。下面的代码告诉你,你可以放心地使用下标,经过测试的,没问题。

  1. <span style="font-size:18px;">#include <iostream>  
  2.   
  3. using namespace std;  
  4.   
  5. int main()  
  6. {  
  7.     int m, n;  
  8.   
  9.     cin >> m >> n;  
  10.   
  11.     int **a = new int*[m];  
  12.     for(int i = 0; i < m; ++i)  
  13.     {  
  14.         a[i] = new int[n];  
  15.     }  
  16.   
  17.     for(int i = 0; i < m; ++i)  
  18.     {  
  19.         for(int j = 0; j < n; ++j)  
  20.         {  
  21.             a[i][j] = 2;  
  22.         }  
  23.     }  
  24.     for(int i = 0; i < m; ++i)  
  25.     {  
  26.         for(int j = 0; j < n; ++j)  
  27.         {  
  28.             cout << a[i][j] << ' ';  
  29.         }  
  30.     }  
  31.     for(int i = 0; i < m; ++i)  
  32.     {  
  33.         delete []a[i];  
  34.     }  
  35.     delete []a;  
  36.   
  37.     return 0;  
  38. }  
  39. </span>  
    就这么干,没问题,真的。


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多