c/c++程序的内存开辟时 的内存情况

我们写的代码都是要存放在内存空间中的,我们经常说堆区,静态区,还有栈区,相信很多人不是很明白,在今天这篇博客中让大家对它们有一个粗略的认识


1.栈区(static)

在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时,这些存储单元自动被释放,栈内存分配运算内置与处理器的指令集中,效率很高,但是分配的内存容量有限。栈区主要存放要运行函数所分配的局部变量、函数参数、返回数据、返回地址等等

2.堆区(heap)

一般由程序员分配释放,若程序员不释放,程序结束时可能由操作系统回收。分配方式类似于链表

3.数据段(静态区)(static)

存放全局变量、静态数据,程序结束后由操作系统释放

4.代码段

存放函数体(类成员函数和全局函数)的二进制代码


对于C语言,我们目前了解这么多就够用,我们下期再见!!!

相关推荐
RuoZoe3 天前
重塑WPF辉煌?基于DirectX 12的现代.NET UI框架Jalium
c语言
追逐时光者5 天前
精选 5 款基于 .NET 开源的 Visual Studio 实用插件
visual studio
祈安_6 天前
C语言内存函数
c语言·后端
郑州光合科技余经理8 天前
代码展示:PHP搭建海外版外卖系统源码解析
java·开发语言·前端·后端·系统架构·uni-app·php
feifeigo1238 天前
matlab画图工具
开发语言·matlab
dustcell.8 天前
haproxy七层代理
java·开发语言·前端
norlan_jame8 天前
C-PHY与D-PHY差异
c语言·开发语言
多恩Stone8 天前
【C++入门扫盲1】C++ 与 Python:类型、编译器/解释器与 CPU 的关系
开发语言·c++·人工智能·python·算法·3d·aigc
QQ4022054968 天前
Python+django+vue3预制菜半成品配菜平台
开发语言·python·django
czy87874758 天前
除了结构体之外,C语言中还有哪些其他方式可以模拟C++的面向对象编程特性
c语言