Как я понимаю сложные объявления функций? - PullRequest
32 голосов
/ 19 сентября 2009

Как я понимаю следующие сложные объявления?

char (*(*f())[])();

char (*(*X[3])())[5];

void (*f)(int,void (*)()); 

char far *far *ptr;

typedef void (*pfun)(int,float);

int **(*f)(int**,int**(*)(int **,int **));

Ответы [ 11 ]

0 голосов
/ 18 апреля 2010

Забудьте про 1 и 2 - это просто теоретически.

3: используется в функции ввода программы int main(int argc, char** argv). Вы можете получить доступ к списку строк, используя char**. argv [0] = первая строка, argv [1] = вторая строка, ...

...