重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
无限嵌套,嵌套超过3层阅读起来就很费劲了。
成都创新互联,为您提供网站建设公司、成都网站制作、网站营销推广、网站开发设计,对服务成都纯水机等多个行业拥有丰富的网站建设及推广经验。成都创新互联网站建设公司成立于2013年,提供专业网站制作报价服务,我们深知市场的竞争激烈,认真对待每位客户,为客户提供赏心悦目的作品。 与客户共同发展进步,是我们永远的责任!
可以使用if else或者switch逻辑判断,便于阅读。
好像规定最多可以使用32个,但那样肯能反应有点慢,不推荐使用过多!
-物联网校企联盟技术部
会出现堆栈溢出
一般编译器在编译时候,会将全局变量以外的空间都作为堆栈使用,函数内声明的局部变量、数组等,全部是放在堆栈里的。
每运行一个函数,编译器还会统计这个函数用到了几个寄存器,然后在函数运行前将寄存器压栈,函数返回前出栈
嵌套太多了,一直在压栈,没有出栈,或者局部变量声明太多,很快堆栈就溢出了。
这也是单片机调用递归函数时要小心再小心的原因。
我曾经用ARM7编写程序时,由于全局变量太多了,保留堆栈空间太少造成过堆栈溢出
在c中可以嵌套调用函数,但不可以嵌套定义函数。
函数嵌套调用是允许的。
int a()
{
b();//调用函数b
}
函数嵌套定义是错误的。
int a()
{
int b() //在函数a中定义函数b
{
……
……
}