Как передать указатель функции в другую функцию? - C (СИ)
Формулировка задачи:
Добрый вечер.
Кто нибудь знает как передать указатель функции в другую?
за ранее благодарен))
Решение задачи: «Как передать указатель функции в другую функцию?»
textual
Листинг программы
int sqr( int a )
{
return a * a;
}
void func( int (*f)( int ) )
{
std::cout << f( 10 ) << std::endl;
}
int main()
{
...
func( sqr );
...
}
Объяснение кода листинга программы
- В функции
mainсоздается функцияfunc, которая принимает указатель на функциюfв качестве аргумента. - В функции
funcпроисходит вывод на экран значения, возвращаемого функциейfс аргументом10. - В функции
mainвызывается функцияfuncс функциейsqrв качестве аргумента. - Функция
sqrпринимает целочисленный аргументaи возвращает квадрат этого аргумента. - Функция
sqrвызывается в функцииfuncс аргументом10. - Значение, возвращаемое функцией
sqrс аргументом10, выводится на экран в функцииfunc. - В функции
mainпосле вызова функцииfuncс функциейsqrв качестве аргумента продолжается выполнение программы.