#include<iostream>
using namespace std;
//1 new的基本语法
int * func() {
//在堆区创建整形数据
//new 返回的是数据类型的地址
int *p = new int(10);
return p;
}
void test01() {
int *p = func();
cout << *p << endl;
cout << *p << endl;
cout << *p << endl;
//堆区的数据由程序员开辟释放,如果释放,用delete
delete p;
//cout << *p << endl;//内存被释放,再次访问是非法操作
}
//2 在堆区利用new开辟数组
void test02() {
int * arr = new int[10];//10代表有10个元素
for (int i = 0; i < 10; i++) {//赋值
arr[i] = i + 100;
}
for (int i = 0; i < 10; i++) {
cout << arr[i] << endl;
}
//释放堆区数组的时候,要加[]才可以
delete[] arr;
}
int main() {
test01();
test02();
system("pause");
return 0;
}