C言語 ジャンプ処理 - setjmp.h - [ setjmp, longjmp ]

2008.09.08 Monday | by LRESULT


setjmp.hには、ジャンプ処理用のマクロが定義されています。

ジャンプ処理とは、その名の通りコード内を飛び回れます。
異なる関数間でも、goto文のように指定した位置へ移動します。
エラー処理に有効ですが、使いすぎると大変な事になりそうです。 


setjmp
書式 int setjmp( jmp_buf env )
機能 ジャンプ処理用に現在の環境を退避する
引数 jmp_buf env : 環境格納変数
( longjmp()での指定用 )
戻り値 最初に設定する際は、0を返し、
longjmp()から呼ばれた場合は、0以外の
longjump()で指定された引数を返します。



longjmp
書式 void longjmp( jmp_buf env, int value )
機能 指定された位置にジャンプする
引数 jmp_buf env : setjmp()で取得した環境格納変数
int value : setjmp()の戻り値を設定
戻り値 なし



| 1/1PAGES |