函数指针和指针函数的区别

函数指针

  • 定义

    • 函数指针是指向函数的指针变量。它存储的是函数的入口地址,就像普通指针变量存储变量的地址一样。函数的代码在内存中占据一片连续的存储空间,这片空间的起始地址(函数入口地址)就可以被函数指针所指向。
    • 函数指针的定义形式一般为:返回值类型 (*指针变量名)(参数列表);。例如,int (*p)(int, int);定义了一个名为p的函数指针,它可以指向返回值为int类型,并且有两个int类型参数的函数。
  • 使用场景

    • 回调函数(Callback Function)

    • 在很多库函数或者系统编程中被广泛使用。例如,qsort函数(用于排序数组),它的一个参数就是函数指针。用户可以定义一个比较函数,qsort函数会在排序过程中通过这个函数指针调用用户定义的比较函数来确定元素的顺序。假设我们有一个整数数组arr,想要按照升序排序,可以这样使用qsort
    • #include <stdio.h>
      #include <stdlib.h>
      int compare(const void * a, const void * b)
      {
          return ( *(int*)a - *(int*)b );
      }
      int main()
      {
          int arr[] 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

魂兮-龙游

你的鼓励是我创作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值