指针函数和函数指针的区别(函数指针的定义及用法)

指针函数

指针函数是指带指针的函数,其本质是一个函数,该函数返回某一个类型的指针。

定义: 类型标识符 * 函数名(形参列表) {函数体}

如 int *pFun(int x, int y) { fun body…};

说明:指针函数与普通函数的区别在于,它返回的是一个指向内存地址的指针,而不是一个值。通常用于动态内存分配和数据结构的实现,函数的返回值最好不要是局部变量的地址,否则会出现不可预料的错误。

例子:如下例子,返回一个指向整数的指针:

指针函数和函数指针的区别(函数指针的定义及用法)

指针函数错误写法

上图例子中,函数 get_sum_ptr() 返回一个指向整数变量 temp 的指针,由于 temp 是在函数内部定义的局部变量,它的生命周期仅限于函数的执行时间,因此,当函数返回时,指向 temp 的指针将变得无效,因为 temp 所占用的内存将被释放,最终计算出来的结果是任意值。

为了保证程序的健壮性,可以改成如下写法:在函数内部,我们使用 malloc() 函数分配了一块内存来存储整型变量,然后将 i_val1和 i_val1的和赋值给这个变量,并返回指向它的指针,不要忘了使用 free() 函数释放了动态分配的内存。

指针函数和函数指针的区别(函数指针的定义及用法)

指针函数

函数指针

函数指针是指向函数的指针变量。它可以像普通函数一样被调用,也可以作为参数传递给其他函数。函数指针的类型与其所指向的函数的类型相同,即函数指针的声明应该与其所指向的函数的声明相匹配。

声明:返回类型标识符 (* 函数指针变量名)(参数列表);

如:int (*pFun)(int , int );

表示声明一个函数指针pFun,它可以指向一个返回整型值、两个整型参数的函数

函数指针初始化:函数指针变量 = 函数名; //函数名即为函数入口地址

如:pFun = add; //add为一个函数,计算2数之和

函数指针调用函数方式:函数指针变量名(实参列表);

如:pFun (3, 4);

注意:* 和函数名要用括号括起来,否则按照运算符的优先级,就会变成指针函数。

说明:C语言在编译时,每一个函数都有一个入口地址,该入口地址就是函数指针。有了指向函数的指针变量后,可用该指针变量调用函数,就如同用指针变量可引用其他类型变量一样。函数指针在函数回调和函数指针数组等场景中非常常见。

例子:如下程序,定义了一个函数指针变量p,并将add函数的地址赋给了它,然后通过p调用add函数,得到结果并输出。

指针函数和函数指针的区别(函数指针的定义及用法)

函数指针

最后,希望大家可以点点赞,关注下,后面会不定期更新C语言、python相关知识点,以及控制工程中很火的ADRC相关知识点

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2024年9月10日 上午12:01
下一篇 2024年9月10日 上午12:02

相关推荐

  • 东莞很多厂都已经放假了吗,2022年东莞关闭了多少工厂

    工厂如果停工停产,那么对于员工、商家、厂家来说,影响都是比较大的,所以多数人都是不想看到停工消息公布了。那么东莞很多厂都已经放假了吗?今年东莞关闭了多少工厂?东莞工厂值得一提

    2022年9月2日
    4340
  • 怎么筛选自己需要的数据(快速筛选出所需要的数据)

    1.什么是筛选查看数据? 在数据管理中查看数据时,可以利用简道云中的筛选条件过滤出需要查看的数据。 1.1 使用场景 大批量数据中,查找具体的某一条或者某一类数据。如,产品管理场景中,查找某一类产品。 1.2 预期效果 如下图所示: 2. 设置步骤 2.1 筛选入口 2.1.1 表格上筛选 进入表单的 数据管理 页面后,点击右侧的筛选按钮 即可进行数据筛选。…

    2022年10月26日
    460
  • 肯达尔詹娜与NBA球星德文布克宣布分手两周后又重聚,又复合了?

    肯德尔詹纳(Kendalljenner)出生于1995年11月3日,从小在家庭真人秀《与卡戴珊姐妹同行》的聚光灯下长大。虽然在节目的最初几年,她经常被她的继姐妹考特尼、金和科勒

    2022年9月7日
    1310
  • 30万像素摄像头清晰吗(30万像素拍出来的照片怎么样)

    在从前,想要拍张照片实属不易,而现在的人们仅用手机便可以随手记录生活中的点滴。从夏普J-SH04第一台拥有摄像头的手机开始,手机开始进入了随时随地可以记录的手机影像时代,在接下来的20年里,手机的影像功能越来越强悍,功能越来越丰富,特别是在2010后,智能手机开始普及,影像功能也乘上了这股东风,手机的摄像头结合社交app的有机结合,顺势发展的更加猛烈了。今天…

    2023年3月13日
    130
  • 三原色调色公式大全(颜色调色技巧是什么)

    颜色是通过眼、脑和我们的生活经验所产生的一种对光的视觉效应。 颜色有很多种,对比色、互补色都是绘画过程会用到的颜色。 三原色=红色、黄色、蓝色 红色+黄色=橙色 黄色+蓝色=绿色 蓝色+红色=紫色 朱红色 + 黑色少量 = 啡色 天蓝色 + 黄色 = 草绿、嫩绿 天蓝色 + 黑色 + 紫 = 浅蓝紫 草绿色 + 少量黑色 = 墨绿 天蓝色 + 黑色 = 浅灰…

    2024年6月15日
    20
  • am和弦怎么按(吉他Am和弦的几种其它按法)

    Am和弦怎么按?用左手食指住按二弦1品、中指按住四弦2品、无名指按住三弦2品。这即是吉他常用Am和弦的按法。 一、Am和弦的定义 以A音(啦6)为根音,且由A、C、E(啦6、哆1、咪3)三个音(小三度加上大三度)叠加而组成的小三和弦。属于A小调的主和弦,可以用来伴奏以啦(6)、哆(1)、咪(3)为主音构成的旋律小节。通常用于A小调的开头和结尾,且在C调中可用…

    2023年6月29日
    100
  • 经典童话有哪些(长篇超甜超治愈的睡前故事)

    写在前面 每个孩子的心中都隐藏着一个童话梦。女孩的心中多为公主梦,男孩的心中多为英雄梦。我家孩子一直到了小学中段,还喜欢看各种公主童话,包括绘本故事和动画片。 在人类历史的璀璨星河中,曾经闪耀过许多脍炙人口的经典童话,这些百听不厌的故事陪伴着中外不同年龄段的小朋友,成为宝贝们每晚必听的睡前故事。 为了使孩子在不同阶段都能够欣赏到人类留下的所有文化瑰宝,我也是…

    2022年11月12日
    200
  • 乌克兰禁止向俄出口商品(此前主要出口什么东西?)

    据媒体报道,9月27日,乌克兰内阁通过了一项决议,明确禁止向俄出口商品。值得注意的是,今年2月24日以来,乌克兰和俄罗斯的货物出口已经停止。那此前两国主要出口什么东西?下面,一起来了解下。乌克兰禁止向

    2022年10月5日
    1000
  • 中国女明星谁最漂亮(中国公认10大最美女星)

    论中国最出美女的圈子,那肯定是娱乐圈了。 明星们靠着自己的颜值和身材才能收获一大票粉丝。尤其是女明星,颜值内卷可谓特别严重。 近日,一年一度的中国最美女星评选榜单出炉。 令人吃惊的是林志玲仅仅排在第6,迪丽热巴则在这个榜单中高居第3。 看见这个榜单,不禁让人好奇,究竟是哪些女明星进入了前十名,她们又有何独特的魅力? TOP10 刘涛 刘涛作为一个实力派女演员…

    2022年12月4日
    140
  • 菠萝和凤梨的区别如何区别(凤梨是降火还是上火)

    菠萝和凤梨的区别如何区别,凤梨是降火还是上火。发迹号带你了解更多相关信息。大家最近多多少少都会注意到凤梨的消息,毕竟禁止进口凤梨这件事情上了好几次热门。这个季节不仅是凤梨成熟上市的时候,更是咱们菠萝收

    2022年10月6日
    420

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信