c语言什么时候需要动态分配内存?

c语言什么时候需要动态分配内存?动态分配内存是什么意思?分配堆的内存,程序冗杂需要释放那么有什么意义?动态分配的参数是表示分配指定大小还是指定不超过该数值大小做到精确?如... c语言什么时候需要动态分配内存?动态分配内存是什么意思?
分配堆的内存,程序冗杂需要释放那么有什么意义?
动态分配的参数是表示分配指定大小还是指定不超过该数值大小做到精确?
如果是做到精确,那么可以想象到这个函数的实现本身就较严重降低了程序效率,又有什么意思?
c语言线程问题?不动态分配有时引用数据类型的值被注销?不至于吧
展开
 我来答
zcy990718
2018-03-21 · TA获得超过1.2万个赞
知道大有可为答主
回答量:1.2万
采纳率:66%
帮助的人:1517万
展开全部
  1. c语言什么时候需要动态分配内存?动态分配内存是什么意思?

    在运行期,无法提前确定内存需要多少时,动态分配内存。

  2. 分配堆的内存,程序冗杂需要释放那么有什么意义?

    释放多余的内存,就是把内存归还给系统管理,防止占用内存过多,造成系统内存不够、速度慢甚至崩溃。

  3. 动态分配的参数是表示分配指定大小还是指定不超过该数值大小做到精确?

    动态分配需要指定大小,因为分配内存必须精准。

  4. c语言线程问题?不动态分配有时引用数据类型的值被注销?不至于吧

    使用局部变量,在超出作用域后变量会失效或者说注销

wdc596933938
2018-03-21 · 超过30用户采纳过TA的回答
知道答主
回答量:78
采纳率:76%
帮助的人:28.3万
展开全部

你的问题比较多,建议你看一下这篇文章网页链接

局部变量存放在堆里,当函数返回,或者超出作用域,分配给局部变量的内存会被注销,考虑一个返回指针的函数,它指向一块内存,如果不动态分配内存,那么函数返回时该段内存被注销,在函数外通过指针访问这块内存会出错,动态分配的内存在函数退出或者超出作用域后不会自动注销,只要你有这块内存的地址,随时可以访问,也不会被分配给别的函数(数据)。那么就存在一个问题,当你频繁的动态分配内存而不释放,你的内存就会被消耗完,所以当你不在使用这块数据的时候需要手动释放掉这块内存。

追问
链接呢
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式