使用new创建动态数组

使用new创建动态数组

例如:

1 int *psome=new int[10];

要将数组的类型和元素的数目告诉new即可。

new运算符返回第一个元素的地址。

当程序使用完new分配的内存块时,要使用delete释放。

1 delete[]psome;

方括号的意思就是释放整个数组。

总之,使用new和delete时,应遵守:

1、不要使用delete释放不是new分配的内存;

2、不要使用delete释放同一个内存块两次;

3、如果使用new[]为数组分配内存,就要使用[]释放;

4、如果使用new为一个实体分配内存,就要使用delete释放;

5、对空指针使用delete是安全的。

 

使用动态数组

*psome就是第一个元素的值。

可以使用数组名的方法,即psome[0]就是第一个元素,psome[1]就是第二个元素。

例:

 1 #include<iostream>
 2 int main()
 3 {
 4     using namespace std;
 5     double *p3=new double[3];
 6     p3[0]=0.2;
 7     p3[1]=0.5;
 8     p3[2]=0.8;
 9     cout<<"p3[1] is "<<p3[1]<<endl;
10     p3=p3+1;//指针向后移一位
11     cout<<"now,p3[0] is "<<p3[0]<<" and p3[1] is "<<p3[1]<<endl;
12     p3=p3-1;//还原
13     delete[]p3;
14     return 0;
15 }

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。