问题
单项选择题
设有下列函数: void fun(int n,char*S){……} 则下面对函数指针的定义和赋值均正确的是( )。
A.void(*p();pf=fun;
B.void*pf();pr=fun;
C.void*pr();*pf=fun;
D.void(*p(int,cha;pf=&fun;
答案
参考答案:A
解析: 声明函数指针必须加括号,因为括号优先级高于*号。另外,函数名和数组名一样代表了函数代码的首地址,因此在赋值时,直接将函数指针指向函数名即可, fun代表首地址,所以不能加&。