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的返回值。
标签:10,int,创建,堆区,动态内存,new,delete From: https://www.cnblogs.com/xuan4ever/p/16818204.html