2

请考虑以下代码

#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)()?它是一个函数,变量还是什么?

4

3 回答 3

6

流动螺旋法则

                 +------+
                 |      |
                 |  +-+ |
                 |  ^ | |            
             int ( *p ) ()
               ^ |    | |
               | +----+ |
               +--------+

               Identifier p
                 is a pointer to..
                 is a pointer to a function  
                 is a pointer to a function returning int
于 2013-09-15T08:14:12.377 回答
1

p 是一个指针。(*p)()意味着他是一个函数的指针。int (*p)()也意味着它指向的函数返回整数。

于 2013-09-15T08:21:40.013 回答
0

int(*p)()-p是一个指向函数的指针,它什么都不接收并返回一个int.

因此 p 是一个变量 ofc。

于 2013-09-15T08:12:17.340 回答