- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
10.1内存管理
内存的使用是程序设计中需要考虑的重要因一,这不仅由于系统内存是有限的
(尤其在嵌入式系统中),而且内存分配也会直接影响到程序的效率。因此,读者要对C
语言中的内存管理,有个系统的了解。
在C语言中,定义了4个内存区间:代码区;全局变量与静态变量区;局部变量区
即栈区;动态区,即堆区。下面分别对这4个区进行介绍。
①代码区。代码区中主要存放程序中的代码,属性是只读的。
②全局变量与静态变量区。也称为静态区域。内存在程序编译的时候就已经分配
好,这块内存在程序的整个运行期间都存在。例如:全局变量、静态变量和字符串常量。
分配在这个区域中的变量,当程序结束时,才释放内存。因此,经常利用这样的变量,
在函数间传递信息。
③栈区。在栈上创建。在执行函数时,函数内局部变量的单元都可以在栈上创
建,函数执行结束时这些单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率
很高,但是分配的内存容量有限。在linux系统中,通过命令“ulimit–s”,可以看到,栈的容量
为8192kbytes,即8M。
这种内存方式,变量内存的分配和释放都自动进行,程序员不需要考虑内存管理的问题,很
方便使用。但缺点是,栈的容量有限制,且当相应的范围结束时,局部变量就不能在使用。
④堆区。有些操作对象只有在程序运行时才能确定,这样编译器在编译时就无法为他们预先分
配空间,只能在程序运行时分配,所以称为动态分配。比如:下面的结构体定义:
10.1内存管理
内存的使用是程序设计中需要考虑的重要因素,这不仅是由于系统内存有限的其
中之一(尤其是在嵌入式系统中),而且内存分配也直接影响到程序的效率。因此,
要对C语言中的内存管理,有一个系统的了解。
在C语言中,定义了4个内存区间:代码区;全局变量与静态变量区;局部变量区
即栈区;动态区,即堆区。下面分别对这4个区进行介绍。
1代码区。代码区中主要是货架程序中的代码,属性是串口的。
2全局变量已经与静态变量区。也叫静态区域。内存在程序编译的时候就分配
好,这块内存在程序的整个运行期间都存在。例如:全局变量、静态变量和字符串常
量。分配在这个区域中的变量,当程序结束时,才释放内存。因此,经常使用这样的
变量,在函数间传递信息。
3栈区。在栈上创建。在执行函数时,函数局部变量的单元都可以在栈上创建,函
数执行结束时这些单元自动被释放。栈内存分配占用了处理器的指令集中效率,但是分配
的内存容量有限。在linux系统中,命令通过“ulimit–s”,可以看到,栈的容量为
8192kbytes,即8M。
内存方式,变量内存的分配和释放都自动进行,这个需要考虑内存管理的问题,很方便使
用。但缺点是,栈的容量有限制,且当相应的范围结束时,局部变量就不能在使用。
4堆区。有些操作对象只有在程序运行时才能确定,这样编译器在编译时就无法为它们预先
分配空间,只能在程序运行时分配,所以称为动态分配。比如:下面的结构体定义:
structemployee
{
charname[8];
intage;
chargender;
floatsalary;
};
在该结构体定义中,员工的是用字符数组来。若员工的由用户输入,则只有在
用户输入结束后,才能精确的知道,需要多少内存,在这种情况下,使用动态内存分配更合乎逻
辑,应该把结构体的定义改成下面的形式:
structemployee
{
char*name;
intage;
chargender;
floatsalary;
};
动态分配内存就是在堆区上分配。程序在运行的时候用mall
您可能关注的文档
- 酒店管理系统查询挂帐用例规约.pdf
- 月全食观测活动策划与实施.pdf
- 卢沟桥事变课文教学设计与学习目标提炼.pdf
- 连云港市灌云县穆圩中学八年级生物复习测试题.pdf
- 阶段性测评计算问答题及税务处理.pdf
- 父爱如山,感恩有你——寒假作业中深情告白.pdf
- 调平仄__知拗救.doc
- 再嫁东风集(诗联一味)第三次修改结束.docx
- 渔洋十二法之8.doc
- 民国对联三百副(1).doc
- 小说阅读答题模板・每日10分钟背诵小纸条.docx
- 【絮语文】2025-2026学年上期高三语文早读材料第13周.docx
- 福建省福州市福九联盟2025-2026学年高二上学期11月期中考试语文试题.docx
- 2026《人民日报》闪光金句+精彩作文构思).docx
- 河北省沧州市盐山中学2025-2026学年高一上学期11月期中考试语文试题.docx
- 【絮语文】(公众号)2026高二语文选择性必修中册《屈原列传》优质课一等奖课件.pptx
- 2026届安徽省皖豫名校联盟高三10月调研考试“格物致知””主题作文导写讲评课件.pptx
- 浅谈如何对联.docx
- 民国对联三百副(3).doc
- 渔洋十二法之11.doc
最近下载
- word格式:报价单-通用报价单.docx VIP
- 川教版(2024)《信息科技》四年级上册 单元3 活动三 《处理规范的数据》课件.pptx VIP
- 北京市大兴区2024-2025学年七年级上学期期末英语试题(含答案).docx VIP
- 《瓶子哈哈镜》幼儿园大班科学微课讲课PPT课件.pptx VIP
- EPCM项目管理实施规划.docx VIP
- 水利水电工程标准施工招标文件2009年版.doc
- 室内除甲醛报价单模板.docx VIP
- 外用制剂仿制药开发I-处方工艺研究及质量控制评价.ppt VIP
- GB50055-2011 通用用电设备配电设计规范 (2).pdf VIP
- GB_T 13542.2-2021电气绝缘用薄膜 第 2 部分 试验方法.docx VIP
原创力文档


文档评论(0)