2013-05-29 2 views
0

Может ли кто-нибудь дать мне некоторый намек на то, как понимать эти объявления в программировании на языке C. Это какие-то функции указателей?Как понять объявление функции типа int (* func()) [5] и int (& func()) [5] в C

+0

Найти самый левый идентификатор (в данном случае 'func'). Затем отработайте свое желание, вспомнив, что '()' и '[]' связывают перед '*'; IOW, '* a []' - это массив указателей, где '(* a) []' является указателем на массив, а '* f()' является функцией, возвращающей указатель, где '(* f) () 'является указателем на функцию. 'int (* func()) [5]' объявляет 'func' как функцию, возвращающую указатель на 5-элементный массив' int'. 'int (& func()) [5]' не является юридической декларацией C. –

+0

Нет такой вещи, как 'int (& func()) [5]' в C. – AnT

ответ

0

И прочитайте Kernighan и Ritchie; раздел о деклараторах в частности. Храните копию в своей ванной комнате.

Смежные вопросы