首頁>Club>
2
回覆列表
  • 1 # ymkkn32126

    signal函式的定義很複雜,但是它的用法還是比較簡單的,你記住它的兩個引數就可以了。signal有兩個引數sig和func,signal這個函式是用來接收訊號並處理的,所以sig引數表示將要處理哪種型別的訊號,而func引數是一個函式指標,用來指定訊號的處理函式,也就是當程式接收到sig那個型別的訊號後,就會呼叫func指標指向的函式。func指標的原型是:void (*func) (int)所以訊號的處理函式必須是一個返回void,只有一個int型別引數的函式。比如如果程式需要處理Ctrl+C組合鍵產生的訊號,就可以這樣使用signal函式:(void) signal(SIGINT, myfunc);而myfunc函式可以這樣定義:void myfunc(int sig){ printf("Hello, the signal is %d\n", sig); // 因為現在處理的是Ctrl+C訊號,所以下面要 // 恢復程式對Ctrl+C的預設反應 (void) signal(SIGINT, SIG_DFL);}

  • 中秋節和大豐收的關聯?
  • 形容什麼人都有的成語?