【发布时间】:2014-04-29 09:41:02
【问题描述】:
我对操作系统相当陌生,最熟悉 C++,但我正在努力填补我的知识空白并习惯 C 语法。
我不断遇到一些我不知道如何解释的语法,它的形式如下:
void (*sa_sigaction) (int sig, siginfo_t *si, void *ctx)
有 3 件事让我感到困惑:
sa_sigaction 是指针吗?我假设它是函数名。也可以是指针吗?
为什么 sa_sigaction 在括号中?这有任何语法相关性吗?
'void ctx' 是 void 指针吗? (这对我来说是这样的,但我不明白为什么 void 指针会是一个参数)。
我真的希望我不是在问一个愚蠢的问题 - 如果我是,请为我指出一些阅读材料的正确方向,我不知道我需要开始阅读 C 语言中的哪个主题。
非常感谢我对 synatx 的 3 种解释是否正确的回答:)
非常感谢,编码愉快
【问题讨论】:
-
搜索
function pointers,例如cprogramming.com/tutorial/function-pointers.html -
太棒了。感谢您的及时回复!
标签: c linux operating-system signals