[c] How can I call a function using a function pointer?

Calling a function through a function pointer

float add(int, float), result;

int main()
{
    float (*fp)(int, float);
    float result;
    fp = add;
    result = add(5, 10.9);    // Normal calling
    printf("%f\n\n", result);

    result = (*fp)(5, 10.9);  // Calling via a function pointer
    printf("%f\n\n", result);

    result = (fp)(5, 10.9);   // Calling via function pointer. The
                              // indirection operator can be omitted

    printf("%f", result);
    getch();
}

float add(int a, float b)
{
    return a+b;
}

>

Output

15.90000
15.90000
15.90000