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

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


1.栈区(static)

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

2.堆区(heap)

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

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

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

4.代码段

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


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

相关推荐
Dxy123931021618 小时前
Python 根据列表中某字段排序:从基础到进阶
开发语言·windows·python
competes18 小时前
学生需求 交易累计积分,积分兑换奖品
java·大数据·开发语言·人工智能·java-ee
splage18 小时前
Java进阶——IO 流
java·开发语言·python
青桔柠薯片18 小时前
从C语言到裸机运行:i.MX6ULL 的 GPIO 控制与编译链接过程分析
c语言·开发语言·imx6ull
OasisPioneer18 小时前
现代 C++ 全栈教程 - Modern-CPP-Full-Stack-Tutorial
开发语言·c++·开源·github
xiaobobo333018 小时前
c语言结构体相关箭头运算符和点号运算符的联系以及c语言的“索引”思想
c语言·箭头运算符·点号运算符·索引思想
weixin_5375904519 小时前
《C程序设计语言》练习答案(练习1-13)
c语言·开发语言·c#
always_TT19 小时前
从Python_Java转学C语言需要注意什么?
java·c语言·python
橙露19 小时前
JavaScript 异步编程:Promise、async/await 从原理到实战
开发语言·javascript·ecmascript
qq_4160187219 小时前
C++中的模板方法模式
开发语言·c++·算法