在C中,goto语句不能跨越函数,执行这类跳转功能的是函数setjmp和longjmp.
这两个函数对于处理发生在深层嵌套函数调用中的出错情况非常有用。
1、setjmp返回longjmp中设置的不同的val值时,可进行分支判断处理。
2、如果有一个自动变量,但不想其回滚,则可定义其具有volatile属性。(若没有声明volatile,优化和没优化是两种情况)
3、声明为全局或今天变量的值在执行longjmp时保持不变。
在C中,goto语句不能跨越函数,执行这类跳转功能的是函数setjmp和longjmp.
这两个函数对于处理发生在深层嵌套函数调用中的出错情况非常有用。
1、setjmp返回longjmp中设置的不同的val值时,可进行分支判断处理。
2、如果有一个自动变量,但不想其回滚,则可定义其具有volatile属性。(若没有声明volatile,优化和没优化是两种情况)
3、声明为全局或今天变量的值在执行longjmp时保持不变。