int a[10]
int b[20][10]
类型:
a: int [10]
b: int [20][10]
a, b 都是右值
精确装换级别类型:
a--->int *
b ---->int (*)[10]
地址类型
&a : int (*)[10]
&b:int (*)[20][10]
问题:如何在堆中动态分配多维数组
思路:降维分配
int ** p;
int a=30;
int b=50;
p=new int * [30];//2维分配
*(p+1)=new int [50];
*(p+2)=new int [50];
一维是连续地址
2维是非连续的
另种思路:结构指针
struct color
{
int * a;
}
color * b;
b=new color[50];
b[1].a=new int [60];
posted on 2008-06-06 10:37
黄大仙 阅读(682)
评论(0) 编辑 收藏 引用