c++程序运行后内存
栈区,编译器运行程序中自动保存,自动释放
注意不要放回函数的局部变量的地址,因为函数结束后就自动的销毁了,所以此时这个局部变量得地址无用,形参也是一个局部变量,因为是拷贝过去的
堆区,程序员手动申请,手动释放
new用来申请内存
数据类型 *变量名 = new 数据类型 变量
return 变量名
new返回的是该数据类型的指针
这样变量名中保存的就是堆区的的地址,指针本质其实是一个局部变量,保存在栈区,但是指针指向的数据存储于堆区,而在函数返回时返回的是指针变量的值,这样指针局部变量虽然被销毁了,但是保存堆区地址的值却返回了,因为堆区不是局部变量,所以不会随函数结束而销毁,因此依旧存在意义。
delete来销毁申请的内存
delete 变量名

浙公网安备 33010602011771号