1 2 3 | int(*oompaloompa(int a, int b))(void); -----------^------------^ this is function decl |
1 2 3 | int (*a[10])(int (*b)(int c)); int (*(*x)(int y))[10]; int (*a)(int b(int c)); |
mmozeiko
What does your hypothesis say about following declarations?
1 2 3 int (*a[10])(int (*b)(int c)); int (*(*x)(int y))[10]; int (*a)(int b(int c));
1 2 3 4 5 6 7 | typedef cool(beans); cool beans; // function declaration beans() { cool a, b, c; // func decl } |
1 | int (*(*x)(int y))[10]; |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | int array[ 10 ] = { 0 }; int (* fn( int y ) )[ 10 ] { return &array; } int main( int argc, char* argv[ ] ) { int ( * ( *x )( int y ) )[ 10 ]; x = fn; return 0; } |
1 | int array[ 10 ] = { 0 }; |
1 | int array[ 11 ] = { 0 }; |