c语言对函数取&得到什么 比如一个定义成int f(int a)的函数,&f的类型是什么?

问题描述:

c语言对函数取&得到什么 比如一个定义成int f(int a)的函数,&f的类型是什么?
定义一个指针int (*p)(int a); p=f跟p=&f编译都能通过呢?也没有警告
1个回答 分类:综合 2014-11-08

问题解答:

我来补答
语法上没有错误所以编译可以通过!
int (*p)(int a);//表示你定义了一个指针变量,只不过该指针变量是指向函数的.、
int f(int a){}//这个是函数,函数名就表示函数的入口地址,即然是地址所以可以赋给指针变量即:p=f,调用该函数时就可以这样写c=(*p)(实参) (平常是c=f(实参)),而你的p=&f是错误的,因为函数名是地址,就不能加&,& 这个意思是取地址符号!
 
 
展开全文阅读
剩余:2000
上一页:希望高人解答
也许感兴趣的知识