#include
#define
N 4
typedef
int
p[N];
//
方法一用到
using
namespace
std;
int
main()
{
int
n
=
0
;
//
方法一:使用typedef定义一个具有N个元素的数组类型
p
*
ptr1;
//
定义二维数组??用法与二维数组相同
ptr1
=
new
p[N];
for
(
int
i
=
0
; i
<
N; i
++
)
for
(
int
j
=
0
; j
<
N; j
++
)
ptr1[i][j]
=
++
n;
cout
<<
"
方法一:
"
<<
endl;
for
(i
=
0
; i
<
N; i
++
)
{
for
(
int
j
=
0
;j
<
N; j
++
)
cout
<<
ptr1[i][j]
<<
"
"
;
cout
<<
endl;
}
delete[] ptr1;
cout
<<
endl;
//
方法二:使用数组指针
int
row
=
N;
//
二维数组的行数?
int
column
=
N;
//
二维数组的列数
//
分配一个指针数组,其首地址保存在pMatrix中
int
**
pMatrix
=
new
int
*
[row];
//
为指针数组的每个元素分配一个数组
for
(
int
i
=
0
; i
<
row; i
++
)
pMatrix[i]
=
new
int
[column];
//
以上是分配,以下是释放
for
(
int
i
=
0
; i
<
row; i
++
)
delete [column] pMatrix[i];
delete [row] pMatrix;
//
这些技术可用于构造一个矩阵类
return
0
;
}
from:
http://www.zahui.com/html/9/20062.htm