| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 963 人关注过本帖
标题:关于C程序数据在内存的分配情况
只看楼主 加入收藏
code力力
Rank: 5Rank: 5
来 自:宜昌
等 级:职业侠客
威 望:2
帖 子:215
专家分:338
注 册:2015-1-12
结帖率:100%
收藏
 问题点数:0 回复次数:11 
关于C程序数据在内存的分配情况
图片附件: 游客没有浏览图片的权限,请 登录注册

自己画的图,不知道正不正确,希望有人指导下
2015-03-14 14:19
afanihao
Rank: 2
等 级:论坛游民
威 望:1
帖 子:62
专家分:99
注 册:2015-3-13
收藏
得分:0 
首先,你得分清楚程序文件和进程之间的区别。*.exe是一个文件,当被系统加载之后,有一个进程。

对于进程来说,有好几个区:代码区(存放指令)、数据区(存储全局变量、常量等)、堆(用于动态分配内存)、函数栈。

一两句话无法讲懂,第13章,及附录“栈”。。。。虽然我没贴两章内容,但是你如果认真看了现有的内容,应该也是能看懂的。
2015-03-14 22:18
code力力
Rank: 5Rank: 5
来 自:宜昌
等 级:职业侠客
威 望:2
帖 子:215
专家分:338
注 册:2015-1-12
收藏
得分:0 
回复 2楼 afanihao
哦,好的。不过你说的13章是什么书啊

你醒了?快起来敲代码!!
2015-03-15 09:22
afanihao
Rank: 2
等 级:论坛游民
威 望:1
帖 子:62
专家分:99
注 册:2015-3-13
收藏
得分:0 
《C/C++学习指南》 ,邵发, http://www.

以下是引用code力力在2015-3-15 09:22:11的发言:

哦,好的。不过你说的13章是什么书啊
2015-03-15 11:38
afanihao
Rank: 2
等 级:论坛游民
威 望:1
帖 子:62
专家分:99
注 册:2015-3-13
收藏
得分:0 
每个进程至少4块内存区域: 代码区(存放指令)、数据区(存储全局变量、常量等)、堆(用于动态分配内存)、函数栈
所谓的指针也就是说地址,所谓的地址也就是说“内存”地址。

以下是引用afanihao在2015-3-14 22:18:18的发言:

首先,你得分清楚程序文件和进程之间的区别。*.exe是一个文件,当被系统加载之后,有一个进程。

对于进程来说,有好几个区:代码区(存放指令)、数据区(存储全局变量、常量等)、堆(用于动态分配内存)、函数栈。

一两句话无法讲懂,第13章,及附录“栈”。。。。虽然我没贴两章内容,但是你如果认真看了现有的内容,应该也是能看懂的。
2015-03-15 11:40
code力力
Rank: 5Rank: 5
来 自:宜昌
等 级:职业侠客
威 望:2
帖 子:215
专家分:338
注 册:2015-1-12
收藏
得分:0 
回复 5楼 afanihao
谢了,我好好研究研究。

你醒了?快起来敲代码!!
2015-03-15 12:09
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
總結這些東西沒多大用處的,應考用得上。

授人以渔,不授人以鱼。
2015-03-15 13:36
code力力
Rank: 5Rank: 5
来 自:宜昌
等 级:职业侠客
威 望:2
帖 子:215
专家分:338
注 册:2015-1-12
收藏
得分:0 
可是总想弄清楚,不然我写代码的时候脑子里没有一个框架。
比如
图片附件: 游客没有浏览图片的权限,请 登录注册

图片附件: 游客没有浏览图片的权限,请 登录注册

你醒了?快起来敲代码!!
2015-03-15 14:05
afanihao
Rank: 2
等 级:论坛游民
威 望:1
帖 子:62
专家分:99
注 册:2015-3-13
收藏
得分:0 
其实这种程序员才是真正的程序员。

以下是引用TonyDeng在2015-3-15 13:36:52的发言:

總結這些東西沒多大用處的,應考用得上。
2015-03-15 15:28
afanihao
Rank: 2
等 级:论坛游民
威 望:1
帖 子:62
专家分:99
注 册:2015-3-13
收藏
得分:0 
char* p = "hello,world!";
其中,右侧为字面常量,所有的字面常量都有一个类型,它是const char*类型。
"hello,world"这几个字符被存储于常量数据区,不能修改。

参考附录:V2008调试方法,查看一个p指向的内存里的东西。

以下是引用code力力在2015-3-15 14:05:42的发言:

可是总想弄清楚,不然我写代码的时候脑子里没有一个框架。
比如
2015-03-15 15:31
快速回复:关于C程序数据在内存的分配情况
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016655 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved