new实现动态内存分配
两种用法:
1,
P = new T;
T:任意类型名
p:类型为T*的指针
动态分配一个sizeof(T)字节的内存空间,并将该空间的起始地址赋给p
int *p;
p = new int;
*p = 5;
2,
分配一个数组
p = new T[N];
T:任意类型名
p:类型为T*的指针
N:数组元素的个数
动态分配的内存空间大小为N*sizeof(T),起始地址赋给p
new T;
new T[N];
//new运算符返回值都是T*类型
new动态分配的内存空间一定要用“delete”运算符进行释放
delete 指针
指针指向动态分配的内存,delete对一片动态内存空间只能操作一次
int *p = new int;
*p = 5;
delete p;
int *p = new int[20];
p[0] = 1;
delete []p;//回收数组