Информатика и технология программирования


Синтаксис указателя на функцию - часть 2



extern double sin(double);
extern double cos(double);
extern double tan(double);
char *names[] = { "sin","cos","tan",NULL};
double (*pf[])(double) = { sin, cos, tan};

Переменная pf представляет собой массив указателей на функции, инициализированный адресами библиотечных функций sin, cos и tan .


double call(char *pn,int val)
// pn - имя вычисляемой функции


// val - значение аргумента


{
int i;
for (i=0; names[i]!=NULL; i++)
if (strcmp(names[i],pn) == 0)
{ // Имя найдено


return ((*pf[i])(val));
} // вызов функции по i-му


return(0.); // указателю в массиве pf


}




Начало  Назад  Вперед



Книжный магазин