-
int * fun();
这是一个函数声明,它声明了一个名为
fun
的函数,该函数没有参数,并返回一个指向int
类型的指针。这意味着fun
是一个函数,当你调用它时,它将返回一个int
指针。 -
int * (*pf)();
这是一个声明,它声明了一个指向函数的指针
pf
。这个函数接受零个参数,返回一个指向int
类型的指针。这意味着pf
是一个指向函数的指针,当你调用pf
时,它将指向一个函数,该函数返回一个int
指针。 -
fun();
这是一个函数调用语句,它调用了名为
fun
的函数。然而,由于这个函数没有参数,通常你应该使用int * result = fun();
来接收函数返回的指针值。在此示例中,函数被调用,但返回的指针值没有被存储或使用,因此它的返回值被忽略了。 -
pf = fun;
这行代码将函数指针
pf
指向函数fun
。现在,pf
指向fun
函数,这意味着你可以通过pf()
来调用fun
函数。 -
pf();
这是通过函数指针调用函数的语句。因为
pf
现在指向fun
函数,所以pf()
实际上是调用了fun()
函数。这将返回一个int
指针,但同样的注意,函数的返回值没有被存储或使用,因此这个值也被忽略了。
总结,这些语句中,你声明了一个返回 int*
类型的函数 fun
,声明了一个指向返回 int*
类型的函数的指针 pf
,然后调用了函数 fun
和通过指针 pf
调用了函数 fun
。但在实际使用中,你应该考虑存储函数的返回值以及检查是否返回的指针值合法。
Regenerate