程序的内存模型-new运算符

  • new操作符

new基本语法

利用new在堆区中开辟一个数组,在堆区中开辟一段连续的内存空间

点击查看代码

#include<iostream>
#include<string>

using namespace std;

//1、new的基本语法
int* func()
{
	//在堆区创建一个整型数据
	//new返回是 该数据类型的指针
	int *p = new int(10);	
	return p;
}

void test01()
{
	int *p = func();
	cout << *p << endl; 

	//堆区的数据由程序员管理开辟,程序员释放
	//如果想释放堆区的数据,利用关键字delete

	delete p;

	cout << *p << endl; //内存已经被释放,再次访问就是非法操作,会报错
}

//2、在堆区利用new开辟数组
void test02()
{
	//在堆区,创建整型数据数组
	int *arr = new int[10];//10代表数组有十个元素

	for(int i = 0; i < 10; i++)
	{
		arr[i] = i;
	}

	for(int i = 0; i < 10; i++)
	{
		cout << arr[i] << endl;
	}

	//释放堆区数组
	//释放数组的时候 要加[]才可以
	delete[] arr;
}

int main(){
	
	test01();

	test02();
	

	

	system("pause");

	return 0;
}

 

posted @ 2021-07-21 19:54  毋纵年华  阅读(62)  评论(0)    收藏  举报