打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
进程映射与变量 字符串 动态分配内存存放在哪个位置
userphoto

2018.04.05

关注
 
 
这是个进程映射图
​包含栈 ,堆,数据段,代码段
​还有栈和堆是不一样的 ,栈用 stack表示,堆用heap表示,也就是各自的英文
 
 

​然后看变量 字符串 动态分配内存在哪个位置
​1、局部变量的空间在栈空间里分配
 
 
 
 
 
 
 
 
可以看到局部变量它在栈空间里

​2、还有初始化了的全局变量在数据段里
 
 
 
 
可读可写就知道这是个数据段

​3、还有程序中出现的字符串在代码段中
 
 
 
 
 
这个只能读不能写,所以是代码段

​4、静态局部变量在数据段中
 
 
 
 


​5、malloc分配的内存在堆里
​​
 
 
 
 
 p是指向堆的那个空间q
q分配完要free掉,而且栈p置为NULL

总结:

局部变量的空间在栈里分配

初始化了的全局变量在数据段里

程序中出现的字符串在代码段中

静态局部变量在数据段中

malloc分配的内存在堆里



 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
C/C 指针使用常见的坑
共享内存编程与分布式内存编程的比较 - 51CTO.COM
一条进程的栈区、堆区、数据区和代码区在内存中的映射
BSS段,数据段,代码段,堆内存和栈 - 东海的日志 - 网易博客
Linux进程
linux进程与它的堆栈空间
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服