摘要: C语言中可以使用goto进行程序跳转,但是goto只能使用在一个函数内部,不能实现在不同函数之间的跳转,C语言因此提供了setjmp和longjmp函数实现此功能,一般进行异常处理。从函数名称可以看到,一个是设置跳转点,另一个实现长距离的跳转。我们可以再一个函数内部调用setjmp函数设置一个跳转点,在另一个函数中调用longjmp进行跳转,我们需要定义一个jmp_buf类型变量保存跳转信息。eg:jmp_bufjb;voidmain(){if(setjmp(jb) == 0) {longjmp(jb, 1); }else {printf("jmp point 1"); } 阅读全文
posted @ 2013-07-24 20:19 蒲蜡 阅读(1023) 评论(0) 推荐(0) 编辑