Функции
Только две вещи можно сделать с функцией: вызвать ее или извлечь ее адрес. Если имя функции входит в выражение не в позиции имени функции, соответствующей обращению к ней, то генерируется указатель на эту функцию. Следовательно, чтобы передать одну функцию другой, можно написать
int f(); ... g(f);
Тогда определение функции g могло бы выглядеть так:
g(funcp) int(*funcp)(); { ... (*funcp)(); ... }
Обратите внимание, что в вызывающей процедуре функция f должна быть описана явно, потому что за ее появлением в g(f) не следует скобка (.