您的位置:首页 > 其它

new 动态分配数组空间

2015-09-18 16:31 387 查看
(一)定义一个整数

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: