用C语言写程序的时候层数太多会不会出问题?我用义隆的单片机

 我来答
百度网友665345f56
2011-02-10 · TA获得超过448个赞
知道答主
回答量:172
采纳率:0%
帮助的人:255万
展开全部
会出现堆栈溢出
一般编译器在编译时候,会将全局变量以外的空间都作为堆栈使用,函数内声明的局部变量、数组等,全部是放在堆栈里的。
每运行一个函数,编译器还会统计这个函数用到了几个寄存器,然后在函数运行前将寄存器压栈,函数返回前出栈
嵌套太多了,一直在压栈,没有出栈,或者局部变量声明太多,很快堆栈就溢出了。
这也是单片机调用递归函数时要小心再小心的原因。
我曾经用ARM7编写程序时,由于全局变量太多了,保留堆栈空间太少造成过堆栈溢出
百度网友52b807d
2011-02-10 · 超过13用户采纳过TA的回答
知道答主
回答量:48
采纳率:0%
帮助的人:40.2万
展开全部
这个问题太模糊,上面已经说了,最坏的结果就是栈溢出。看看单片机初始代码的初始堆栈部分
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
guogongshao
2011-02-10
知道答主
回答量:4
采纳率:0%
帮助的人:0
展开全部
最好不要嵌套太多层,3层为益。如果超过三层的话最好拆分
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式