开发者社区> 问答> 正文

函数指针与返回值为指针值的函数有什么不同呢?

函数指针与返回值为指针值的函数有什么不同呢?

展开
收起
游客4ztx2pti3xtdw 2022-03-29 18:05:23 442 0
1 条回答
写回答
取消 提交回答
  • 返回值为指针值的函数: 返回值为指针值的函数的本质是一个函数,其返回值是一个指针。示例如下:

    int *pfun(int, int);

    由于“ * ”的优先级低于“ ( )”的优先级,因而pfun首先和后面的“()”结合,也就意味着,pfun是一个函数。即:int *(pfun(int, int));

    接着再和前面的“*”结合,说明这个函数的返回值是一个指针。由于前面还有一个int,也就是说,pfun是一个返回值为整型指针的函数。

    函数返回值必须用同类型的变量来接受,也就是说,返回值为指针值的函数的返回值必须赋值给同类型的指针变量。

    函数指针:

    函数指针其本质是一个指针变量,该指针变量指向一个函数。C程序在编译时,每一个函数都有一个入口地址,该入口地址就是函数指针所指向的地址。

    函数指针也可以像函数一样用于调用函数、传递参数

    函数指针广泛应用于嵌入式软件开发中,其常用的两个用途:调用函数和做函数的参数。

    2022-03-29 18:12:08
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载