为什么要使用动态内存分配函数malloc,怎样使用malloc函数?

动态内存分配有什么用?为什么需要进行动态内存分配?请举个实例我上网查了查,看到使用malloc函数都是一个比方说整形指针=(int*)malloc(sizeof(int)... 动态内存分配有什么用?为什么需要进行动态内存分配?请举个实例
我上网查了查,看到使用malloc函数都是一个比方说整形指针=(int*)malloc(sizeof(int)*一个宏),请问这是什么意思,这样做是为了什么
展开
 我来答
kissofblueice
推荐于2017-11-24 · TA获得超过471个赞
知道小有建树答主
回答量:814
采纳率:100%
帮助的人:583万
展开全部
动态内存分配,可以自由的分配指定大小的内存空间。当程序运行时,程序员并不清楚某一数据需要的具体内存空间大小时,可以使用动态分配。
malloc函数原型
void *malloc(int nSize)
分配一个nSize大小的内存空间,如果分配成功则返回地址空间的首地址,如果分配失败则返货NULL
nSize一般使用 sizeof(类型A)*N 的计算方式获取大小。意思为:为分配n个类型A所占空间的大小。
获取的指针地址需要强制转换为指定类型
例如:int *p = (int*)malloc(sizeof(int)*100);
使用malloc动态分配的内存空间需要使用free函数手动释放。
百度网友bdd8d83cd
2011-06-23
知道答主
回答量:26
采纳率:0%
帮助的人:13.4万
展开全部
动态内存分配就是在程序运行的时候去分配内存,而不是在程序运行之前就确定好了的。比如,现在要做一个程序,一个班学生的成绩,由于事先并不知道这个班到底有多少个学生,所以在运行的时候会先询问有多少学生,然后再分配相应大小的空间来存储这些成绩。当然,为了简便,你也可以事先假设一个足够大的数,比如1000,然后在程序运行前就分配好1000个成绩的空间,这就不需要动态内存分配了,但有时这样会很浪费内在空间。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
李_岚峰
2011-06-23 · 超过42用户采纳过TA的回答
知道答主
回答量:146
采纳率:0%
帮助的人:107万
展开全部
动态去分配内存是为了不浪费内存!比如楼上说的一个班有多少学生?如果在开学的时候定死了中途转入的怎么办? 如果你一次性定义1000这样一个班再怎么都用不到那么多!但是如果你定义一个变量例如你说的那个宏! 来接受你有多少个学生 然后求出然后再开辟多少内存,班上的学生减少和增加那个宏也会跟着减小和增大这样就可以达到资源利用最优的效果! 当然动态开辟的内存要free();释放掉否则你一直占着这个内存你的内存会被耗尽。后果不用我说了!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式