トップページ > キーワード検索 > longjmp()
C言語規格
C言語(その他)
プログラム
その他
longjmp()
機能 保存してある呼出し環境を復元するを表す。
呼出し環境を保存する場合は、setjmpマクロを用いる。
定義 #include <longjmp.h>

void longjmp ( jmp_buf env, int val );
引数
env保存先
val戻り値。0を指定した場合は1に変換される
実装例
#include <setjmp.h>
#include <stdio.h>

int main(void)
{
    jmp_buf jmp;
    
    printf("Set jump point.\n");
    if (setjmp( jmp ) == 0) /* 復元場所 ジャンプした時は戻り値が1となる */
    {
        printf("Go to a jump point and assume a return value of longjmp() is 1.\n");
        longjmp( jmp, 1 ); /* 戻り値を1にしてジャンプする */
    }
    printf("Finish.\n");
    
    return 0;
}
実行結果
Set jump point.
Go to a jump point and assume a return value of longjmp() is 1.
Finish.





inserted by FC2 system