C++内存分区/new开辟堆区

详细可看C:字符指针和内存布局 - Morning枫 - 博客园 (cnblogs.com)

内存分区的意义:不同区的生命周期不同,编程更加灵活简洁。

 

 

 在运行编译生成exe可执行程序后,但是未执行此exe,就已经存在两个区域:

 

 

 关于代码区:

共享:反复执行的程序只会有一份代码

只读:在执行代码的时候(即运行exe程序),代码不可被更改。

————————————————————————————

有关栈区的注意事项:不要返回局部变量的地址。(虽然第一次有可能输出正确的值(编译器自我保留),但是之后会出错)


堆区:

C++中采用new在堆区开辟内存。。。

 

 

 指针本质也是局部变量,放在栈上,指针保存的数据放在堆上。。

 

 

 

 

例如:

 

 

 ...........................................................................................

 

 

 

 .................................................................................................

 

 

 

 

posted @ 2022-10-31 20:39  Morning枫  阅读(124)  评论(0编辑  收藏  举报