new 动态分配数组空间
(一)定义一个整数
int *p =new int;
int *p =new int(4); //赋初值4
(二)定义一个一维数组
int *p =new int[SIZE];
P 指向的为数组的首地址,数组是以int类型为基本单元的,p作为数组名使用
(三)定义一个二维数组
int(*p)[Column]=new int [SIZE][Column]
首先定义一个指针(*p)[Column], 它表示指针是以大小为 Column个int类型 空间为基本单元的, 后面的new int[SIZE]...表示开辟一个SIZE个这样大小的空间
上图 第一个指针表示的是前两种情况下的指针单元
第二个指针表示的是二维数组情况下的指针单元,由此可见,二维数组时,指针是以Column 个int大小的空间为一个基本单元的
p[0][0] 表示的是第0个这样的基本单元中的第0个元素的值
p[1][0] 表示的是第1个这样的基本单元中的第0个元素的值
因此,声明一个二维数组指针
int (*p)[Column];// p指向[Column]结构,而[Column]结构是以int类型为基准单元的
同理, 三维数组可同样定义如下:
int (*p)[Column_1][Column_2]=new int [SIZE][Column_1][Column_2]
参考资料:http://www.fish888.com/c-new-t171704
posted on 2015-09-18 16:31 realkate1 阅读(1234) 评论(0) 编辑 收藏 举报