C++ 内存五大分区

C/C++中内存分5大区:栈,堆,全局/静态存储区,常量存储区,代码区(也称自由存储区)。

代码区:毫无疑问是用来存储可执行代码的地方,只读不可写。

栈区:用来存储一些局部变量以及函数的参数等,栈区的大小由编译器决定,效率比较高,但空间比较有限。存放在栈区的变量,栈具有自动清除的特性,超出变量作用域后会被回收。向低地址生长。

堆区:由程序员手动申请空间,在程序运行期间均有效。堆区的变量需要手动释放,否则只会在程序结束后被回收。向高地址生长。

全局/静态存储区:存储程序的静态变量以及全局变量,整个程序的生命周期都存在的。另外,字符串常量也是放在静态区的。


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容