请考虑以下代码
#include<stdio.h>
int fun(); /* function prototype */
int main()
{
int (*p)() = fun;
(*p)();
return 0;
}
int fun()
{
printf("IndiaBix.com\n");
return 0;
}
这是什么int(*p)()
?它是一个函数,变量还是什么?
请考虑以下代码
#include<stdio.h>
int fun(); /* function prototype */
int main()
{
int (*p)() = fun;
(*p)();
return 0;
}
int fun()
{
printf("IndiaBix.com\n");
return 0;
}
这是什么int(*p)()
?它是一个函数,变量还是什么?
流动螺旋法则:
+------+
| |
| +-+ |
| ^ | |
int ( *p ) ()
^ | | |
| +----+ |
+--------+
Identifier p
is a pointer to..
is a pointer to a function
is a pointer to a function returning int
p 是一个指针。(*p)()
意味着他是一个函数的指针。int (*p)()
也意味着它指向的函数返回整数。
int(*p)()
-p
是一个指向函数的指针,它什么都不接收并返回一个int
.
因此 p 是一个变量 ofc。