您的位置:首页 > 编程语言 > C语言/C++

数组的动态分配与释放

2013-05-17 21:19 246 查看
1、创建

new表达式返回指向数组的第一个元素的指针。例如:

//分配单个int型对象

//用1024初始化

int *pi = new int(1024) ;

 

//分配一个含有1024个元素的数组

//未被初始化

int *pia = new int[1024] ;

 

//分配一个含有4X1024个元素的二维数组

int (*pia2)[1024] = new int[4][1024] ; //二维数组的第一维的值不可以省略不写,数组的第一维可以是常量,也可以是一个在执行时、才计算出的值,但是第二位或者更高维必须是常量。

 

pi指向一个int型的单个对象,初始值为1024.pia指向数组的第一个元素,该数组有1024个元素。pia2指向一个由4个1024个元素的数组构成的数组的第一个元素---即pia2指向一个由1024个元素的数组。

一般的,在空闲存储区上分配的数组不能给出初始化值集。在空闲存储区中创建的内置类型的数组必须在for循环中被初始化,即数组的元素一个接一个的初始化。例如:

for(int i=0;i<size;++i)

{

   pia[i] = i ;

}

 

2、释放

动态数组的释放也是使用delete表达式。例如

 delete [ ] pia ;

方括号是必须的。

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息