首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
牛客206427677号
山东大学 测试工程师
发布于山东
关注
已关注
取消关注
@不想掉头发:
程序内存的分区(详解)
基础知识每日一记(3)1.程序中的内存从哪里来?1、程序执行需要内存支持。 程序是放在内存中运行,程序运行时需要内存来存储一些临时变量。2、内存本身在物理上是一个硬件器件,由硬件系统提供。3、内存是由操作系统统一管理。 为了内存管理方便又合理,操作系统提供了多种机制来让应用程序使用内存。根据自己的使用情况来选择某种方式获取内存、使用内存、释放内存。2.内存分区介绍:我们的内存一般分为四个区域提供使用,且每个区域存放的数据不同,使用效果也不同。它们分别是:堆区、栈区、全局区(静态区)、代码区。2.1.代码区:程序代码存放的位置(编译后的可执行二进制代码)。特点:共享性,只读性,在程序运行前就存在。2.2.全局区(静态区):存放全局变量、静态变量、静态函数的位置。特点:在程序结束后才释放,并且在内部还分为.bss区(未初始化)和.data区(已初始化)。2.3.栈区:存放普通局部变量(包括const修饰的局部变量)、函数的参数的位置。2.3.1栈的特点:1、栈是在运行时自动分配和自动收回:栈是自动管理的、程序员不需要手工干预。2、反复使用:栈内存在程序中其实就是一块空间,程序反复使用这一块空间。( 栈是哪来的?—— 应用程序在操作系统中运行时,操作系统分配一块栈空间给应用程序使用。栈大小由操作系统决定的。栈指针是由操作系统控制 )3、脏内存:由于栈是反复使用的,每次使用后程序不会清理,因此分配到时保留原来的值 4、临时性:变量在栈上只是临时分配了一个内存空间使用5、栈会溢出:操作系统分配的栈大小是有限的。大量使用栈会造成栈溢出。2.3.2使用栈时的注意点:程序中定义局部变量的时候必须初始化。否则会出现莫名错误。函数不能返回栈变量的指针,因为这个空间是临时的。定义局部变量不能太大,避免栈溢出。2.4.堆区:存放程序运行时动态申请的空间。特点:一般需要程序员手动释放。2.4.1堆的特点:1、操作系统堆管理器管理:堆管理器是操作系统的一块模块,堆管理内存分配灵活,按需分配。2、大块内存:堆内存管理者总量很大的操作系统内存块,各程序按需向操作系统去申请,使用完之后要释放。3、程序手动申请和释放:需要程序员写代码去申请malloc和释放free(或者new)。4、脏内存:堆内存也是反复使用的,使用者用完释放前不会清除。5、临时性:堆内存只有在malloc和free之间属于这个进程,可以访问。2.4.1使用堆时的注意点:malloc申请的内存时用完后要free释放。 free(p);会告诉对管理器这段内存我用完了可以回收了(new出来的记得delete)。堆管理器回收了这段内存后这段内存当前进程就不应该再使用。因为释放后堆管理器就可能把这段内存再次分配给别的进程。调用free归还这段内存之前,指向这段内存的指针p一定不能丢。 因为p一旦丢失这段malloc来的内存就永远的丢失了(内存泄露),直到当前程序结束时操作系统才会回收这段内存。gcc中的malloc默认最小以16B分配单位的。 如果malloc小于16B的大小时都会返回一个16字节的大小内存。所以在你申请malloc(0)和malloc(4),堆管理器都分配16字节空间。3.补充:部分内容转载于:https://blog.csdn.net/weixin_43564241/article/details/127830981
点赞 1
评论 1
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
07-29 09:07
滴滴_运营管理_HR
滴滴出行提前批内推
文字摘自某书互联网中最良心的中厂--滴滴但是由于下架的原因秋招没有投现在逐渐回暖可能考虑后续回去每天早上十点左右上班七八点多下班九点多基本就熄灯了每天也有各种小零食业务上也没有很难没有人在硬卷 氛围很舒服如果想找一个国内不是很卷的互联网公司还进不了外企的话滴滴是个不错的选择氛围确实还行,因为没有食堂, 大家都会约饭啥的,组里人也会一起吃,刚进来的时候mt ld 对我也特别真诚,真的当朋友在处了,吐槽一些缺点就是通勤不太方便,上海职场离地铁站老远了,而且地理位置离上海哪个高校都远;晚上的饭菜也不是很好吃;茶水间只有开水… 但是工位不挤,实习生独立工位这点还是蛮好;而且楼下有健身房,有时间可以去跑...
滴滴公司福利 1181人发布
点赞
评论
收藏
分享
昨天 17:22
已编辑
中南大学
亲测某团AI面试:省时但手酸!
对着卡通HR答题30分钟,胳膊酸了嗓子哑了技术题限时5秒思考直接大脑空白!系统卡死强退重进,提问环节竟消失…公平但冰冷,求下次真人面!总结:AI面试直接上招聘流程还是有点难,平时拿来模拟面试还是不错呢!
投递美团等公司10个岗位
点赞
评论
收藏
分享
06-11 22:00
西南交通大学 嵌入式硬件工程师
佬们求康康
各位大佬帮我看看简历呗😊,现在真纯混子了,写的都是一些校内课程项目,打算根据这些恶补知识,不知道这样到校招够不够找到一些工作😂
zYvv:
双一流加大加粗再标红,然后广投。主要是获奖荣誉不够,建议开始不用追求大厂,去别的厂子刷下实习。
点赞
评论
收藏
分享
06-04 18:03
河南工程学院 Java
27届大二 项目只做了苍穹外卖
全是已读不回,真后悔之前那么摆烂那么可以改一下啊兄弟们,求拷打
代码飞升:
别用口语,后端就写后端,前端就写前端,最后别光后悔
点赞
评论
收藏
分享
07-31 11:52
快手_机器学习算法部_机器学习算法工程师(准入职员工)
快手内推
在快手做了三个多月的后端开发实习,在这里浅浅分享下我的实习体验~ 工作节奏: 基本上是早10晚9,周末双休。整体来说工作强度还是不小的,不过应该也是互联网常态了吧QAQ 福利待遇: 技术岗是400/天,晚上8点以后下班会发30餐补,入职也会一次性发180能量券,学校不在当地的话还可以申请1500/月的房补。¥这块老铁厂还是挺大方的哈哈。 实习生培养: 团队氛围很nice,我的mentor人真的很好,有问题向他请教都会很细致很耐心地给我解答,好感度upup~不过同事们平时可能都比较忙,捕捉到他们不容易,所以每次沟通或者汇报前最好提前做好准备。具体工作职责的话,一开始基本是接同事们剩下的活,直接上...
快手公司福利 971人发布
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
百度提前批,三面被推迟一周,喜提秋招第一凉
9779
2
...
虾皮秋招一面
3324
3
...
他拿大厂SSP Offer打牌是什么概念啊?25届双非之光
3321
4
...
觉得研发高人一等的这辈子有了
2159
5
...
百度提前批 三面
1963
6
...
最强本科✌
1668
7
...
被猿辅导挂了简历,但我想说...
1419
8
...
也是逆天了
1369
9
...
虾皮一面凉经
1299
10
...
上班一周,工资还没拿,先欠公司两千
1263
创作者周榜
更多
正在热议
更多
#
工作中哪个瞬间让你想离职
#
64964次浏览
578人参与
#
找工作如何保持松弛感?
#
92058次浏览
1113人参与
#
中兴秋招
#
206654次浏览
2302人参与
#
如何快速融入团队?
#
18072次浏览
215人参与
#
秋招被确诊为……
#
165472次浏览
774人参与
#
和同事相处最忌讳的是__
#
25799次浏览
251人参与
#
投格力的你,拿到offer了吗?
#
87271次浏览
585人参与
#
虾皮求职进展汇总
#
250210次浏览
1875人参与
#
计算机专业还有必要去大厂卷吗
#
38641次浏览
183人参与
#
你最希望上岸的公司是?
#
135652次浏览
709人参与
#
26届的你,投了哪些公司?
#
48591次浏览
511人参与
#
Offer比较,你最看重什么?
#
194076次浏览
1315人参与
#
简历上的经历如何包装
#
31258次浏览
846人参与
#
我对___祛魅了
#
50950次浏览
458人参与
#
柠檬微趣工作体验
#
6845次浏览
40人参与
#
你遇到最难的面试题目是_
#
17243次浏览
205人参与
#
你跟室友的关系怎么样?
#
7841次浏览
121人参与
#
通信硬件岗投递时间线
#
18890次浏览
69人参与
#
我想象的实习vs现实的实习
#
290466次浏览
2246人参与
#
什么样的背景能拿SSP?
#
40587次浏览
233人参与
#
你最讨厌面试问你什么?
#
29444次浏览
322人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务