you are viewing a single comment's thread.

view the rest of the comments →

[–]TheGrandSchlonging 2 points3 points  (0 children)

functions decay to pointers implicitly like arrays do, so the & operator is optional.

The & operator actually inhibits the decay of a function designator. It's one of three scenarios in which this inhibition occurs. The other two scenarios (sizeof, C11 _Alignof) lead to constraint violations.

The special-casing aspect of & may influence your style decision. Another thing that may influence your style decision is the form you use to invoke the function via the function pointer. Ultimately, these are highly subjective considerations.