Associativity of function call operator in C
Here is an example, where left-right associativity of function call operator matters: #include <stdio.h> void foo(void) { puts(“foo”); } void (*bar(void))(void) // bar is a function that returns a pointer to a function { puts(“bar”); return foo; } int main(void) { bar()(); return 0; } The function call: bar()(); is equivalent to: (bar())();