| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 476 人关注过本帖
标题:关于内存分配,问个弱弱的问题
只看楼主 加入收藏
lock69
Rank: 2
等 级:论坛游民
帖 子:17
专家分:47
注 册:2009-9-23
结帖率:50%
收藏
已结贴  问题点数:1 回复次数:5 
关于内存分配,问个弱弱的问题
我用了这么久C语言,从来没有用过象malloc()这类的跟内存有关的函数,我就想不通,在源程序进行编译的时候不是编译器自动分配内存的吗?为什么会用到malloc()这类的函数!急盼解答,谢谢各位高手!!!
搜索更多相关主题的帖子: 内存 
2009-11-03 19:14
m456m654
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:783
专家分:2806
注 册:2009-9-17
收藏
得分:0 
是啊,你要是定义了某个变量,内存就会分配相应的存储空间。但时有时候我们有些数据只是在程序的某一段时间内需要占用内存的某些空间,而其它时候都是闲着不用,所以为了提高内存的使用率可以在需要的时候现场申请一个空间,来存放数据,等这些数据处理完了,系统就可以将他们收回。这在指针处理的链表中是较为常用的。
2009-11-03 19:18
longlong89
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:广州
等 级:小飞侠
威 望:6
帖 子:1043
专家分:2754
注 册:2009-8-18
收藏
得分:0 
接LS
这就是malloc()一类函数为什么称为动态存储函数

想象力征服世界
2009-11-03 21:25
我菜119
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:938
专家分:1756
注 册:2009-10-17
收藏
得分:0 
我再补充几句,使用动态分配时因为计算机不会自动为指针变量分配内存空间,所以需要我们用malloc()这个函数来分配,

愿用余生致力编程
2009-11-03 21:31
lock69
Rank: 2
等 级:论坛游民
帖 子:17
专家分:47
注 册:2009-9-23
收藏
得分:0 
能给个实例代码让我理解一下吗?
2009-11-04 01:46
小J
Rank: 8Rank: 8
等 级:等待验证会员
威 望:1
帖 子:282
专家分:704
注 册:2009-6-18
收藏
得分:0 
#include "stdio.h"
#include "malloc.h"
main()
{
char *name;  //这里name是一个字符指针
name=(char *)malloc(10) ;//malloc前面的括号是强制转换。后面的是分配给name指针的大小,经常使用sizeof()来取得长度,如果你不分配内存的话当你运行的话就会内存报错
printf("请输入学生姓名:");
scanf("%s",name);
printf("输入的姓名是%s",name);
}

————————————————————————————————————————————————————————————————---
当你学习链表后就会经常碰到内存分配的问题。lz加油……
2009-11-04 09:21
快速回复:关于内存分配,问个弱弱的问题
数据加载中...
 
   



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

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