C语言 两种写法的差别

int *vp()和 int (*vp)()有什么区别呢?还有void(*f(int no ))()是什么意思?
2024-11-18 12:23:00
推荐回答(2个)
回答(1):

int *vp()是一个函数
函数名是vp,返回类型是int *,参数类型未知(C中间参数不写表示未知,如果没有参数的话,写void,c++中参数不写带山表示没有参数扒行芦

int (*vp)()是一个函数指针
这个指针是类似int func()这样的函数的指针,也就是返回值类型是int,参数列表为空的函数的指春带针

void (*f(int no))()需要考虑下

回答(2):

第一个声明返回int指针的函数,第二声明一个函数的指针,这个被指向的函数返咐丛回int数据,第拍谨三个声明返回函数指针的函数,被声明的函数为f,返回袭简基的指针指向void型函数