int *q = new int;
*q = 3;
cout << *q << endl;
delete q;
int* q = new int(3); //两种方式new
cout << *q << endl;
delete q;
int* arr = new int[3]; //作为局部变量(栈区)的数组arr接受new出来堆区数据的首地址
for (int i = 0; i < 3; i++)
{
cin >> arr[i];
}
for (int i = 0; i < 3; i++)
{
cout << *(arr + i);
}
new 数据类型,返回的是变量的地址
int a = new int(10); // ()整型
delete a; //释放变量a
int *arr = new int[10]; // []数组
delete[] a; //释放数组a
//释放记得delete
int *p = new int(10); //将堆区创建的变量的地址赋值给存放在栈区的局部变量指针p。
//其中指针p属于局部变量,存放在栈区;new创建的整型变量10,存放在堆区。
//new创建的是堆区空间,返回值是该空间的首地址,因此一般传入指针接收new的返回值。