C语言,指针,函数 为什么在函数中改变了指针主函数依旧不变? 书上给的看不是太懂

如题所述

C++可以通过异常处理的throw和catch来实现从子函数的子函数直接返回主函数,汇编语言可以用jmp指令跳转实现这个需求。C语言主要靠函数调用和return在函数之间切换,很难做到在多层调用中直接返回主函数。虽然goto语句可以无条件跳转,但是必须在同一个函数中使用。因此解决的方法也是用一个特殊的值作为需要返回的标志,然后在两层调用函数中都遇到该值就返回,但是这个方法也有两个前提:1)你的两个子函数都是由返回值的函数2)你选择的特殊值和函数正常的返回的取值不会冲突,不会引起二义性。因此建议你的这个问题还是用C++ 的异常去解决比较好。
温馨提示:答案为网友推荐,仅供参考
相似回答