typedef int (*function)(int,double);

could anyone explain how typedef'ing a function works? and why someone would use this?