码迷,mamicode.com
首页 > 编程语言 > 详细

动态数组

时间:2016-04-28 00:22:33      阅读:223      评论:0      收藏:0      [点我收藏+]

标签:

new 是申请动态存储空间 


动态无名变量,


 int *p=new int;

 

动态数组


int *p=new int [10]; //动态数组的大小可以是变量或常量;而一般直接声明数组时,数组大小必须是常量

 

动态数组的大小是变量

cout<<"输入元素个数:";
cin>>a;
p=new int[a];
for(int i=0;i<a;i++)
cin>>p[i];


又如:
int *p1;
double *p2;
p1=new int(12);
p2=new double [100];
l 分别表示动态分配了用于存放整型数据的内存空间,将初值12写入该内存空间,并将首地址值返回指针p1;
l 动态分配了具有100个双精度实型数组元素的数组,同时将各存储区的首地址指针返回给指针变量p2;
对于生成二维及更高维的数组,应使用多维指针。
以二维指针为例
int **p=new int* [row]; //row是二维数组的行,p是指向一个指针数组的指针
for(int i=0; i<row; i++)
p[i]=new int [col]; //col是二维数组的列,p是指向一个int数组的指针
删除这个二维数组
for(int i = 0; i < row;i++)
delete []p[i]; //先删除二维数组的列
delete []p;
⑵使用完动态无名变量后应该及时释放,要用到 delete 运算符
delete p; //释放单个变量
delete [ ] p;//释放数组变量(不论数组是几维)
相比于一般的变量声明,使用new和delete 运算符可方便的使用变量。

动态数组

标签:

原文地址:http://www.cnblogs.com/greengold/p/5440911.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!