请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

栈分配

老师讲栈分配的时候,讲到了栈支持动态分配和静态分配。,,能举个例子吗,栈什么时候是进行动态分配的?

正在回答 回答被采纳积分+3

1回答

翔仔 2019-09-28 00:00:12

同学好,动态分配是在程序执行时才知道要分配的储存空间大小,而不是在编译时就确定的。

比如有一个函数,里面有一个List,List的大小依赖于你外部传递进来的参数,那么在编译期间是没办法确定大小的,而需要在运行中进行动态分配,此时就是栈内存的动态分配。而如果之前在里面都是一些写死了的常量,则那部分已经是确定好了的,属于静态分配

0 回复 有任何疑惑可以回复我~
  • 提问者 慕粉13951610073 #1
    老师还是有点疑问,你说list依赖外部传进来的参数,但list不是对象么,应该放在堆上才对吧
    回复 有任何疑惑可以回复我~ 2019-09-28 00:11:45
  • 翔仔 回复 提问者 慕粉13951610073 #2
    sorry,晚上脑子不清晰,list打错比方了,那个是堆的,可以把list替换成一个基本类型的变量,比如是int型的,依赖于传递进来的参数赋值,那么这个时候是动态分配的:)
    回复 有任何疑惑可以回复我~ 2019-09-29 00:39:50
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号