1、goto语句,函数内部的短转移
goto语句只能跳转的到本函数内部的标签处,这个没得说,例子如下:
2、setjmp 和 longjmp 实现长跳转
函数原型如下:
#include <setjmp.h>
int setjmp(jmp_buf envbuf);
void longjmp(jmp_buf envbuf, int val);
其中 setjmp用来设置一个供longjmp调至的地址e
本文介绍了C语言中用于跳转的语句和函数,包括goto的简单跳转,setjmp和longjmp的长跳转,以及在处理信号时使用的sigsetjmp和siglongjmp。通过示例代码解释了如何在遇到信号如SIGINT时,使用这些跳转机制使程序能够从错误中恢复并继续执行。
1、goto语句,函数内部的短转移
goto语句只能跳转的到本函数内部的标签处,这个没得说,例子如下:
2、setjmp 和 longjmp 实现长跳转
函数原型如下:
#include <setjmp.h>
int setjmp(jmp_buf envbuf);
void longjmp(jmp_buf envbuf, int val);
其中 setjmp用来设置一个供longjmp调至的地址e
3519
1129
826
136

被折叠的 条评论
为什么被折叠?