int*func(){//在堆区创建整型数据//new返回的是该数据类型的指针int* p =newint(10);return p;}intmain(){int* a;//在堆区开辟的数据由程序员管理开辟,程序员释放//如果想释放堆区的数据,利用关键字delete
a =func();
cout << a << endl;
cout <<*a << endl;
cout <<*a << endl;delete a;//cout<<*a<<endl; //内存已经被释放,再次访问就是非法操作,会报错system("pause");return0;}
利用new在堆区开辟数组
//在堆区利用new开辟数组voidtest(){//注意:要用方括号[ ]才能代表是数组//在堆区创建10整型数据的数组int* arr =newint[10];for(int i =0; i <10; i++)//注意:arr是数组名,也代表数组的首地址,可以通过数组的下标来进行访问
arr[i]= i +1;for(int i =0; i <10; i++)
cout << arr[i]<< endl;//释放堆区数组//释放数组的时候要加[]才可以,不然会报错;默认是只释放一个数据delete[] arr;}intmain(){test();system("pause");return0;}