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 };
|