[英]Signal handling in Linux (CentOS) C
我是操作系統的新手,在C ++中最為舒服,但是我試圖填補我的知識空白並習慣C語法。
我一直遇到一些我不知道如何解釋的語法,它的形式如下:
void(* sa_sigaction)(int sig,siginfo_t * si,void * ctx)
有三件事令我困惑:
sa_sigaction是一個指針嗎? 我假設它是函數名稱。 它也可以是指針嗎?
為什么sa_sigaction在括號中? 這有任何語法相關性嗎?
'void ctx'是一個無效指針? (這對我來說是這樣的,但我不明白為什么無效指針會成為一個參數)。
我真的希望我不是在問一個愚蠢的問題 - 如果我請指出我正確的方向閱讀一些閱讀材料,我不知道我需要用C語言開始閱讀哪個主題。
我的3個解釋是否正確的答案將非常感謝:)
非常感謝和編碼愉快
1)是的,它既是指針又是函數。
2)是的,這是聲明函數指針的語法。
3)是的,這是一個無效指針。 它們對於傳遞沒有類型的內存地址非常有用。
就像@ user2485710建議的那樣,查看關於函數指針的本教程 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.