typedef void (PF)(int)与typedef void PF(int)有区别吗,

感觉这个括号不需要吧,如果要写一个程序验证一下,应该怎么弄呢

void (pf)(int)属于引用函数 如果是结构体中的函数可以这么调用 st.pf = pf1等,可以调不同函数名相同参数的函数 ,而后面的 void pf(int)是普通函数 ,只能调用pf(int)函数。

需要括号,因为这是函数指针的变量名。后者是定义函数,而不是函数指针

需要说明一下 void(*pf)(int abc)这种是函数指针 ,这种是调用的函数首地址。