Какие из следующих выражений корректны?

typedef char ()*fptr();
typedef float *()fptr();
typedef int (*fptr)();