http://blog.csdn.net/qtyl1988/article/details/8033832 2012
下面的代码先申请一个动态二维数组,然后按照下标访问其中的元素。这是个很简单的问题,我只是想强调一下,顺便辟谣。因为之前看网上某些文章说c++申请动态二维数组是不能按照下标访问的,还要经过自己将下标转换为相对地址,理由是动态申请的二维数组,虽然行内存储空间连续,但是行间不连续。下面的代码告诉你,你可以放心地使用下标,经过测试的,没问题。
- <span style="font-size:18px;">#include <iostream>
-
- using namespace std;
-
- int main()
- {
- int m, n;
-
- cin >> m >> n;
-
- int **a = new int*[m];
- for(int i = 0; i < m; ++i)
- {
- a[i] = new int[n];
- }
-
- for(int i = 0; i < m; ++i)
- {
- for(int j = 0; j < n; ++j)
- {
- a[i][j] = 2;
- }
- }
- for(int i = 0; i < m; ++i)
- {
- for(int j = 0; j < n; ++j)
- {
- cout << a[i][j] << ' ';
- }
- }
- for(int i = 0; i < m; ++i)
- {
- delete []a[i];
- }
- delete []a;
-
- return 0;
- }
- </span>
就这么干,没问题,真的。
|