问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C语言高手进, 这个例子调用malloc函数到底想体现个什么 我用普通的方法也能实现他想达到的目的啊

发布网友 发布时间:2022-11-03 08:10

我来回答

2个回答

热心网友 时间:2023-10-30 08:28

这个malloc就是可以实现不知道数组多大的时候,自己开辟一个这么大的数组.
你自己的程序确实是也实现了,但是有3个问题:
1,如果输入的len大于5,那么你的程序会有问题.
2,假设你觉得问题1不是问题,例如把数组a开辟的很大(如a[10000]等),那么,如果输入的len很小,例如只有5,那么剩下的那9995的内存就浪费了.
3.也许在main中是无法开辟a]10000]这么大的,因为栈内存有限.(这个和编译器和环境有关系),而堆空间的大小则要远大于栈空间,而malloc就是从堆空间分配的内存,所以可以开辟比较大的内存区域.

热心网友 时间:2023-10-30 08:28

malloc函数是用于动态分配内存的。
前头那段代码不需要a[5],没有用上的。你用多少内存,就开辟多少内存。将你要输入的个数存放到len中,在开辟len大小的内存,比较没有浪费。
而后头的代码中数组的大小是固定的,如你定义的a[5]。而你要存放的数的长度(即len值)则必须<5,多了会放不下,少了则实现开辟好的空间存在浪费。
两者的区别就在这里。希望对你有所帮助!^^
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
玉米仁子饭产自哪里 中国期货交易所的交易品种有哪些? 历史要怎么读,有啥诀窍 高中历史诀窍 年终会活动策划方案 深度解析:第一财经回放,探索财经新风向 逆水寒手游庄园怎么邀请好友同住 逆水寒手游 逆水寒不同区可以一起组队吗? 逆水寒手游 逆水寒怎么进入好友世界? 逆水寒手游 逆水寒怎么去别人的庄园? C语言中函数调用的问题。 氢氧化钠和氯化铜反应方程式 拿什么饵钓白鲢鱼最好?是钓浮?还是钓底? 钓花白鲢是浮钓还是底钓? 中国音乐家协会会员难入吗 腾讯音乐人审核通过率 孕晚期怎么睡觉才能睡得踏实一点?有什么好的办法? 在学校里发生的一件事 50---100字 五年级作文 先到先得(满意的) 京剧中节奏较强的选段有哪些 战太平歌词 歌曲战太平歌词 宝马320li定速巡航按键在哪里 金丝耳和银耳什么区别 伯努利方程题求教 赵丽颖《与凤行》新路透,红袍战损妆又美又飒,这是什么题材的剧? 2021年汽车年检费用多少钱 400克炒饭用多大碗 牛年宝宝小名洋气女孩,牛年女孩小名萌一点的乳名 星期天车管所有人上班吗郑州 1965年的介绍 1965年什么年 蚊子药可以喷老鼠么 莫等闲白了少年头空悲切出自唐朝诗人岳飞的古诗词作品满红红怒发冲冠的第一段 满红红怒发冲冠中哪一句激励人们珍惜青年年华奋发有为的千古名句? 满红红中的怒发冲冠以文 有哪些很美的诗句,句子.像“不负如来不负卿” 格利佛游记里面各个国家名字怎么用英文翻译 西安艾米教育培训学校有限公司怎么样? 重生后我嫁给了渣男的死对头讲的什么 如果没有你原唱歌手是谁 火影忍者迈特凯腿残疾 火影里的阿凯到底有多厉害,什么水平? 威驰邮箱容量 1998年的奥运会在那里举行? 庄子与惠子游于濠梁扩写 把“庄子与惠子游于濠梁”改写成作文 庄子与惠广游于濠梁改写600字 惠子相梁 续写 庄子与惠子游于濠梁的改编版要怎么写 续濠梁之辩!!接上历史人物的对答,将诡辩进行到底!! 我是本地户口在外地弄个工资卡可以贷款买车吗