C++中分配内存的运算符是 new
格式:P = new T
T是类型名,P是类型为 T*的指针,new会动态分配出一片大小为sizeof(T)的内存空间,并且将该内存空间的起始地址赋值给P。
int *p;
p = new int;
在指针未分配内存或指向一个变量时,它就是一个野指针,指向一个任意的地址,而动态分配出来的内存是安全的内存,可以给指针使用。
分配一个数组
P = new T[N]
动态分配一片大小为 Nsizeof(T)字节的内存空间。
new运算符返回的类型都是T
动态分配的内存在使用后是需要释放的,释放的运算符是delete
int *p;
p = new int;
delete p; //释放内存
释放动态分配的数组
int *p;
p = new int[20];
p[0] = 1;
delete []p; //释放内存