new与delete都是关键字,与for相似,不是库函数。
1. 使用new分配内存
通用格式是:类型名 指针 = new 类型名;如 int pi = new int;类型可以是基本数据类型、结构体、自定义类等。
2. 使用delete来释放内存
通用格式是:delete 指针名;注意 delete 与 new 配对,只能释放 new 分配的内存。delete只能用一次,不能释放指针两次
3.new创建动态数组
通用格式是:类型名 指针 = new 类型名 [ 数组大小 ];如 char pc = new char [234];pc 被赋值为第一个元素的地址,指向第一个元素。
4.delete 释放动态数组
5.new创建动态数组
指针可当作数组名来使用,如 float * pf = new float [200];pf[24],是数组的第25个元素的值,下标从0开始
new创建多维数组
int (*p)[4] = new int[3][4];
new来直接初始化
#include <iostream>
#include <string>
struct stu{
int age;
string name;
};
int main{
int* a = new int(0);//int初始化
string* ps = new string("asdfasdfasd");//字符串初始化
stu* stu1 = new stu{10, "huhao"};//结构体初始化
}