Метка iOS не начинается с верхней

Одним из больших применений для указателей функций в C является вызов функции, выбранной во время выполнения. Например, библиотека времени выполнения C имеет две процедуры: qsort и bsearch, которые принимают указатель на функцию, вызываемую для сравнения двух отсортированных элементов; это позволяет сортировать или искать, соответственно, что угодно, на основе любых критериев, которые вы хотите использовать.

Очень простой пример, если есть одна функция, называемая print (int x, int y), которая, в свою очередь, может потребовать вызова функции add () или sub (), которые имеют похожие типы, тогда мы будем do, мы добавим один аргумент указателя на функцию print (), как показано ниже: -

int add()
{
   return (100+10);
}

int sub()
{
   return (100-10);
}

void print(int x, int y, int (*func)())
{
    printf("value is : %d", (x+y+(*func)()));
}

int main()
{
    int x=100, y=200;
    print(x,y,add);
    print(x,y,sub);

    return 0;
}
0
задан Twing90 13 July 2018 в 09:14
поделиться