请分析以下各语句的意义。int * fun() ;int * (*pf)() ;fun() ;pf = fun ;pf() ;

  1. int * fun();

    这是一个函数声明,它声明了一个名为 fun 的函数,该函数没有参数,并返回一个指向 int 类型的指针。这意味着 fun 是一个函数,当你调用它时,它将返回一个 int 指针。

  2. int * (*pf)();

    这是一个声明,它声明了一个指向函数的指针 pf。这个函数接受零个参数,返回一个指向 int 类型的指针。这意味着 pf 是一个指向函数的指针,当你调用 pf 时,它将指向一个函数,该函数返回一个 int 指针。

  3. fun();

    这是一个函数调用语句,它调用了名为 fun 的函数。然而,由于这个函数没有参数,通常你应该使用 int * result = fun(); 来接收函数返回的指针值。在此示例中,函数被调用,但返回的指针值没有被存储或使用,因此它的返回值被忽略了。

  4. pf = fun;

    这行代码将函数指针 pf 指向函数 fun。现在, pf 指向 fun 函数,这意味着你可以通过 pf() 来调用 fun 函数。

  5. pf();

    这是通过函数指针调用函数的语句。因为 pf 现在指向 fun 函数,所以 pf() 实际上是调用了 fun() 函数。这将返回一个 int 指针,但同样的注意,函数的返回值没有被存储或使用,因此这个值也被忽略了。

总结,这些语句中,你声明了一个返回 int* 类型的函数 fun,声明了一个指向返回 int* 类型的函数的指针 pf,然后调用了函数 fun 和通过指针 pf 调用了函数 fun。但在实际使用中,你应该考虑存储函数的返回值以及检查是否返回的指针值合法。

Regenerate

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值