使用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 }