一个C语言的语法问题。。。。。。。。(凑字数)

今天在看apue的时候发现了一个奇怪的代码,因为这个代码实在是有点长,所以我把我有所困惑的几个语句截取下来进行提问。

//第一句是定义了个函数类型
typedef int Myfunc (const char *,const struct stat *,int);
//第二句应该是定义了一个Myfunc类型的函数对象,看起来有点像C++里面的//函数重载
static Myfunc myfunc;
//myftw函数声明
static int myftw(char *,Myfunc *);
.
.
.
//这里是我的问题所在,我明明上面定义的是一个函数变量,在myftw的声
//明中,第二个参数理应传的是一个函数类型的指针,但是在下面的语句中
//我传入了一个函数类型的变量,编译并没有报错,请问是为什么呢?
myftw(pathname,myfunc);

1个回答

函数名就是函数的指针,没毛病。

hhhhyiuxiu
hhhhyiuxiu 那么难道说:Myfunc *p与Myfunc p是一样的东西?
5 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问