分享

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

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

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

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

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

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


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

总结:

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

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

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

静态局部变量在数据段中

malloc分配的内存在堆里



 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多