2016 - 2024

感恩一路有你

goto语句为什么要少用 C语言中的goto语句。为什么老师反复强调不能用?

浏览量:2801 时间:2021-03-15 07:15:59 作者:admin

C语言中的goto语句。为什么老师反复强调不能用?

谈goto色变,主要是goto太自由了,甚至比汇编语言的jump更自由,jump还要考虑长地址短地址等跳转,而goto根本没有任何限制,他可以直接从函数内部调到函数外部甚至其它函数的位置。这就牵扯到一个问题,我们都知道函数调用是保护当前上下文,也是当前执行堆栈和寄存器,一旦进入被调用函数的内部,堆栈和寄存器就全变了,如果函数内部再用goto到其它地方函数不再返回,程序肯定就全乱了,而且导致内存泄露。所以,使用goto必须要加限制条件1.函数内部goto只能goto到函数内部,保证函数能够返回到被调用的2.中断内部用goto也是一样,goto必须要能够保证中断正常返回,不然也会导致中断异常。总结,goto不推荐使用的原因主要是它可以不受任何条件限制,跳转到你想要去执行的地方,过于自由,但是是好事还是坏事取决于程序开发人员的设计是不是考虑得完善,是不是会导致这样那样的问题。

写程序为什么不主张用goto语句?

使用goto语句 会造成程序逻辑比较混乱 不利于后期的运维,并却大大降低了代码的可读性

goto语句为什么要少用 c语言goto为什么最好不要用 goto语句只能转一个语句吗

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。