8.
float (*abc[3])(float x);


put in all the parentheses:
float ((*(abc[3]))(float x));

  1. abc is being declared,
  2. it is an array of 3 things,
  3. they are pointers to something:
  4. functions that take a float and returns ...
  5. another float.
abc is an array of pointers to functions, whcih can be used just like the single variable in number 7.

You could do three assignments:
          abc[0]=sin;
          abc[1]=cos;
          abc[2]=log;

Then, just using an integer variable to select the right function, you could say:
          x=(abc[i])(y);


abc is an array of 3 pointers, so its size is 12.