网页浏览总次数

星期日, 二月 18, 2024

C++学习笔记——new关键字

程序的内存四区,new关键字的基本使用


程序运行前:

代码区

全局区


*程序运行后:

栈区:编译器自动分配释放,存放函数的参数值(形参),局部变量等。

*注意:不要返回局部变量的地址,栈区开辟的数据由编译器自动释放。


*堆区:由程序员分配释放,弱程序员不释放,程序结束时由操作系统回收。


使用new关键字开辟内存,使用delete释放内存


#include<iostream>

using namespace std;


int* func1()

{

//在堆区创建整形数据

//new 返回的是 该数据类型的指针

int *p = new int(10);

return p;

}

void test01()

{

int* p = func1();

cout << *p << endl;

cout << *p << endl;

//delete 释放数据内存

delete p;

cout << *p << endl;//非法操作

}

int main()

{

test01();

return 0;

}


没有评论:

发表评论