代码之家  ›  专栏  ›  技术社区  ›  GreenElephant

如何理解函数/指针声明?

  •  0
  • GreenElephant  · 技术社区  · 3 年前

    在C中,可以声明指向以下函数的指针:

    void (*Func1)(int)
    

    我相信我已经理解了这意味着什么(在本例中,是指向返回的函数的指针) void 并采取了 int 以及如何声明和使用这些指针。

    然而,我现在遇到了如下声明:

    void (*Func2(int, int))(int)
    

    我正在努力理解这个语法。这里到底宣布了什么?它可能是一个指向函数的指针,但我一直认为在指针名称后加上右括号是必要的,所以我现在完全不确定。

    有人能一步一步地解释一下上述声明的含义吗?

    1 回复  |  直到 3 年前
        1
  •  0
  •   sashoalm Yaser Kalali    3 年前

    从…起 https://cdecl.org/?q=void+%28*Func2%28int%2C+int%29%29%28int%29

    void(*Func2(int,int))(int)

    将Func2声明为函数(int,int),返回指向返回void的函数(int)的指针