Witam. Czy mógłby mi ktoś wyjaśnić opisowo, jak działają oba te wskaźniki?:
void fe ( int ( * ( *[4] ) () ) [5] );
char ( **tab_a[5] ) (void);
bardzo dziękuję za odpowiedź
Witam. Czy mógłby mi ktoś wyjaśnić opisowo, jak działają oba te wskaźniki?:
void fe ( int ( * ( *[4] ) () ) [5] );
char ( **tab_a[5] ) (void);
bardzo dziękuję za odpowiedź
Dawno tego nie robiłem ale:
A ta pierwsza nie przyjmuje 5-cio elementowej tablicy na funkcje zwracające 4 elementowe talblie?
user@ubuntu-vm:~$ cdecl
Type `help' or `?' for help
cdecl> explain void fe ( int ( * ( *[4] ) () ) [5] );
declare fe as function (array 4 of pointer to function returning pointer to array 5 of int) returning void
cdecl> explain char ( **tab_a[5] ) (void);
declare tab_a as array 5 of pointer to pointer to function (void) returning char
czyli pierwsze oznacza funkcję fe
zwracającą void
a pobierającą tablicę czterech wskaźników na funkcje bezargumetowe pobierające wskaźnik na 5 intów.