and in this line
Code:
printf("%d plus %d equals %d.\n", x, y, (*ptr)(x,y));
they are performing some sort of casting (*ptr)(x,y)
to type pointer
why arent the writing just *ptr

??