Hàm longjmp() trong C (chi tiết nhất)




Hàm longjmp() trong C

Hàm void longjmp(jmp_buf environment, int value) trong Thư viện C phục hồi môi trường (environment) đã được lưu trữ bởi lời gọi gần nhất tới macro setjmp() trong cùng lời gọi hàm của chương trình với tham số tương ứng là jmp_buf.

Khai báo hàm longjmp() trong C

Dưới đây là phần khai báo cho hàm longjmp() trong C:

void longjmp(jmp_buf environment, int value)

Tham số

  • environment − Đây là đối tượng của kiểu jmp_buf chứa thông tin để lưu trữ môi trường tại điểm gọi của setjmp.

  • value − Đây là giá trị để biểu thức setjmp ước lượng.

Trả về giá trị

Hàm này không trả về bất cứ giá trị nào.

Ví dụ

Chương trình C sau minh họa cách sử dụng của hàm longjmp() trong C:

#include 
#include 
#include main()
{
  jmp_buf env;
  int i;  i = setjmp(env);
  printf("i = %d\n", i);  if (i != 0) exit(0);  longjmp(env, 2);
  printf("Dong nay co duoc in khong?\n");}

Biên dịch và chạy chương trình C trên sẽ cho kết quả:

Hàm longjmp trong C

Các bài Thư viện C phổ biến khác tại VietJack:


setjmp-h-trong-c.jsp