数组的动态分配与释放
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 ;
方括号是必须的。
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 ;
方括号是必须的。
相关文章推荐
- C++:多维数组的动态分配(new)和释放(delete)
- 鸡啄米:C++编程入门系列之三十二(数组、指针和字符串:动态内存分配和释放)
- c语言中内存的动态分配与释放(多维动态数组构建)
- C++:多维数组的动态分配(new)和释放(delete)
- 动态分配多维数组和释放其内存
- 数组、指针和字符串:动态内存分配和释放
- C语言中内存的动态分配与释放(多维动态数组构建)
- c语言中内存的动态分配与释放(多维动态数组构建)
- C++:多维数组的动态分配(new)和释放(delete)
- C++动态数组分配与释放
- c语言中内存的动态分配与释放(多维动态数组构建)
- C++:多维数组的动态分配(new)和释放(delete)
- C++:多维数组的动态分配(new)和释放(delete)
- 【转】c语言中内存的动态分配与释放(多维动态数组构建)
- C语言中动态分配数组指针后如何释放
- c语言中内存的动态分配与释放(多维动态数组构建)
- c语言中内存的动态分配与释放(多维动态数组构建)
- C++:多维数组的动态分配(new)和释放(delete)
- c语言中内存的动态分配与释放(多维动态数组构建)
- 二维指针、数组指针和指针数组存储空间的动态分配和释放