да, конструкция имеет смысл, если мы хотим организовать доступ к различным функциям по индексу, например, выбор элемента меню.
гдето в программе:
Код:
void cut();
void copy();
void paste();
typedef void (*paction)(void);
void main()
{
paction actions[3];
actions[0] = cut;
actions[1] = copy;
actions[2] = paste;
//..... выполняем какие-то действия
// при которых пользователь выбрал в меню какой-то пункт
// и получаем
actions[menuitem];
}
что-то вроде.