转载:http://c.biancheng.net/cpp/biancheng/view/175.html
1.为了和C语言不一样,C++提供了较简便而功能较强的运算符new和delete来取代malloc和free函数。
2.关于语法的介绍
new int; //开辟一个存放整数的存储空间,返回一个指向该存储空间的地址(即指针)
new int(100); //开辟一个存放整数的空间,并指定该整数的初值为100,返回一个指向该存储空间的地址
new int[100];//在内存开辟一个有100个元素的空间供使用
new char[10]; //开辟一个存放字符数组(包括10个元素)的空间,返回首元素的地址
new int[5][4]; //开辟一个存放二维整型数组(大小为5*4)的空间,返回首元素的地址
float *p=new float (3.14159); //开辟一个存放单精度数的空间,并指定该实数的初值为//3.14159,将返回的该空间的地址赋给指针变量p
3.看一个简单的的程序
#include<iostream>
using namespace std ;
int main()
{
int *a=new int[10];//初始化
int n=10;
for(int i=0;i<n;i++)
{
a[i]=n;
cout<<"The number is "<<a[i]<<endl;
}
for(int i=0;i<n;i++)
{
a[i]=a[i]*3;
cout<<"The number is "<<a[i]<<endl;
}
if(a!=NULL)//用完后要记得删除
delete [] a;
a=NULL;
system("pause");
}
4.结果如下
5.大致可以理解这个程序吧