C语言_函数指针之指针数组

1、什么是函数指针

如果对于C语言掌握程度较好的话,那么应该知道我们在程序中定义的变量,系统会为其开辟一块存储空间,而我们通过取地址符就可以获取到这一个变量所在的地址。
对于数组来讲,它的数组名就表示了数组的首地址。
那么同样的,对于我们的函数来讲,我们的系统会为我们的函数代码分配一块存储空间,函数名称就表示了这块存储空间的首地址,那么既然有地址,我们自然可以通过指针来指向这个函数。

2、函数指针的格式

对于普通的指针,我们知道根据不同的数据类型,指针的类型也要匹配,那么对于函数来说,我们应该怎么定义与之匹配的指针呢?
函数指针主要由三部分组成:

  • 函数的返回值类型
  • 指针名称
  • 函数的入口参数
    来看一个示例
    int (*p)(int,int);
    这里我们定义了一个函数指针
  • 指针指向的函数的返回值类型为 int ,由第一个int 表示
  • 指针的名称为 p
  • 指针指向的函数的入口参数为两个 int 参数,由后面的两个 int 确定。

3、函数指针的辨析

我们来看一种同函数指针极为相似的结构
void *pfun();
我们先确认一点,这个并不是函数指针
为什么不是?
pfun先和()结合,这属于函数声明。

4、函数指针数组

用途——转移表
定义int (*parr[10])()
这个相当于定义了10个int (*parr)()指针
使用示例

#include<stdio.h>

int add(int a, int b)
{
   
	return a + b;
}
int su
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值