Jeśli masz jakieś declarator x
w deklaracji T x
, następnie T x(t1 p1, t2 p2)
oznacza funkcji z params P1, P2, powrót tego samego typu jak declarator x został mający przed .
Nawias wokół deklaratora oznacza zastosować modyfikatory wewnątrz nawiasu najpierw.
W twoim przypadku nie ma żadnych modyfikatorów wewnątrz nawiasów. Oznacza to, że nie ma w nich potrzeby.
Prototyp funkcji oznacza Istnieje funkcja, która ma taki podpis i nosi nazwę Blah.
Typedef z prototypem funkcji oznacza Pozwala nadać nazwę bla na funkcję podpis. Nie oznacza to, że istnieje jakakolwiek funkcja z tym podpisem. Ta nazwa może być używana jako typ. Na przykład:
typedef int xxx(int yyy);
xxx *func_ptr; // Declaration of a variable that is a pointer to a function.
xxx *func2(int p1); // Function that returns a pointer to a function.
Pomocne może być [to wyjaśnienie] (http://c-faq.com/decl/spiral.anderson.html). – icktoofay
Tęsknisz za '*', 'typedef int (* xxx) (int yyy);' definiuje wskaźnik funkcji –
@AlterMann Nie, to nie jest mój kod. Myślę, że definiuje wskaźnik funkcji, ale wydaje się nie, nie mam pojęcia .. – Sayakiss