函数指针

函数指针对于作者这样的一个初学者来讲一直是一个生僻的概念,虽然在平时的编码中不常用,但是也不能不知道。
我们在如果在程序中写了一个函数,那么在点击编译的时候,系统就会为这个函数分配一个空间去存储这个函数,而这个空间的首地址,就是这个函数的首地址,函数指针指向的也就是这个首地址,以下面的函数指针为例

int(*p)(int ,int )     // 声明一个函数指针
int Func(int ,int)     // 声明一个函数
p = Func;              // 将这个函数的首地址赋给指针变量

其中,前面的 int 就表示这个函数的返回值是一个 int 类型的返回值,而后面货号里面的两个 int 表示这个函数的输入形参,说明这个函数有两个 int 类型的输入参数。
下面我们看一下函数指针在代码中的应用

#include<stdio.h>
#include<stdlib.h>
int Func(int x, int y){          // 定义一个函数
	return x + y;
}             
int main(){
	int(*p)(int ,int);           //声明函数指针
	int num1 = 3;
	int num2 = 5;
	int result;
	p = Func;                   //在用函数指针的时候,函数名后面不带括号
	result = Func(num1, num2);
	printf("result = %d\n", result);
	system("pause");
	return 0;
}

根据上面的加法函数,函数指针的用法一目了然,在使用函数指针的时候注意:
(1)在将函数的首地址赋给指针变量时,函数后面不用带括号
(2)函数指针的用法并不支持指针的 ++ 、-- 操作
以上是作者在阅读资料的基础之上的一些浅薄理解,写的不好的地方请指正。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值