考虑一个数组int arr[3][4],它可以看作是一个数组int[4] arr_1[3],数组中的每一个元素都是一个四元数组. 即:arr[2][3]等同于*(*(arr + 2) + 3)
因此:
创建一个指针,指向一个指针数组,指针数组中的每一个指针又指向一个动态一维数组。
#include <iostream>
int main()
{
using namespace std
;
int row
, column
;
cin
>> row
>> column
;
int** arr
= new int* [row
];
for (int i
= 0; i
< column
; ++i
)
arr
[i
] = new int[column
];
for (int i
= 0; i
< row
; ++i
)
for (int k
= 0; k
< column
; ++k
)
cin
>> arr
[i
][k
];
return 0;
}
类似的,还可以创建多维数组。