C言語 ジャンプ処理 - setjmp.h - [ setjmp, longjmp ]
2008.09.08 Monday | by LRESULT
setjmp.hには、ジャンプ処理用のマクロが定義されています。
ジャンプ処理とは、その名の通りコード内を飛び回れます。
異なる関数間でも、goto文のように指定した位置へ移動します。
エラー処理に有効ですが、使いすぎると大変な事になりそうです。
書式 | int setjmp( jmp_buf env ) |
---|---|
機能 | ジャンプ処理用に現在の環境を退避する |
引数 | jmp_buf env : 環境格納変数 ( longjmp()での指定用 ) |
戻り値 | 最初に設定する際は、0を返し、 longjmp()から呼ばれた場合は、0以外の longjump()で指定された引数を返します。 |
書式 | void longjmp( jmp_buf env, int value ) |
---|---|
機能 | 指定された位置にジャンプする |
引数 | jmp_buf env : setjmp()で取得した環境格納変数 int value : setjmp()の戻り値を設定 |
戻り値 | なし |