文档介绍:动态数组
孙宇平
@
动态数组是相对于静态数组而言。它可以随程序需要而重新指定大小。动态数组的内存空间是从堆(heap)上分配(即动态分配)的。当程序执行到这些语句时,才为其分配存储空间。
C++的动态存储分配机制可以根据需要在程序运行时建立和撤销对象。
new 运算符动态分配堆内存
使用形式: 指针变量= new 类型(常量);
指针变量= new 类型[表达式];
作用:从堆分配一块“类型”大小的存储空间,返回首地址
其中:“常量”是初始化值,可缺省
创建数组对象时,不能为对象指定初始值
delete 运算符释放已分配的内存空间
使用形式: delete 指针变量;
delete [] 指针变量;
其中:“指针变量”必须是一个 new 返回的指针
new 和 delete 操作符的使用
int * p1 = new int ;
char * p2 = new char ;
float * p3 = new float ;
int * p4 = new int [4] ;
……
delete p1 ;
delete p2 ;
delete p3 ;
delete [] p4 ;
new 和 delete 操作符的使用
int * p1 = new int ;
char * p2 = new char ;
float * p3 = new float ;
int * p4 = new int [4] ;
……
delete p1 ;
delete p2 ;
delete p3 ;
delete [] p4 ;
p1
new 和 delete 操作符的使用
int * p1 = new int ;
char * p2 = new char ;
float * p3 = new float ;
int * p4 = new int [4] ;
……
delete p1 ;
delete p2 ;
delete p3 ;
delete [] p4 ;
p1
p2
new 和 delete 操作符的使用
int * p1 = new int ;
char * p2 = new char ;
float * p3 = new float ;
int * p4 = new int [4] ;
……
delete p1 ;
delete p2 ;
delete p3 ;
delete [] p4 ;
p1
p2
p3
new 和 delete 操作符
new 和 delete 操作符的使用
int * p1 = new int ;
char * p2 = new char ;
float * p3 = new float ;
int * p4 = new int [4] ;
……
delete p1 ;
delete p2 ;
delete p3 ;
delete [] p4 ;
p1
p2
p3
p4
new 和 delete 操作符
new 和 delete 操作符的使用
int * p1 = new int ;
char * p2 = new char ;
float * p3 = new float ;
int * p4 = new int [4] ;
……
delete p1 ;
delete p2 ;
delete p3 ;
delete [] p4 ;
p2
p3
p4
p1
new 和 delete 操作符
new 和 delete 操作符的使用
int * p1 = new int ;
char * p2 = new char ;
float * p3 = new float ;
int * p4 = new int [4] ;
……
delete p1 ;
delete p2 ;
delete p3 ;
delete [] p4 ;
p2
p3
p4
p1
new 和 delete 操作符
new 和 delete 操作符的使用