Прототип функции setjmp:
int setjmp( jmp_buf environment );
Заголовочный файл
| Название | Язык |
|---|---|
| setjmp.h | С |
| csetjmp | С++ |
Описание
Функция setjmp сохраняет значения окружения для возврата управления программой в точку сохранения. То есть, эта функция принимает аргумент, env, и наполняет его значениями состояний переменных окружения в этой точке кода. Всё это нужно для того, чтобы, в случае необходимости, можно было восстановить значения переменных окружения в более позднем вызове longjmp.
Параметры:
- environment
Объект типаjmp_bufв котором хранится информация о величинах переменных окружения.
Возвращаемое значение
Эта функция может вернуть значение типа int. Первый вызов функции setjmp всегда возвращает ноль.
Когда longjmp вызывается с заполненным параметром environment, в это же время, функция setjmp возвращает значение — целое число, которое передается, при вызове функции longjmp, в качестве второго аргумента.
Пример работы программы
Пример использования данной функции наглядно показан вместе с функцией longjmp.