函数指针与指针函数的基本说明(c知识篇)

哈哈哈,又到记笔记的时候了,偶尔写一下防止颓废!也多少白嫖别人的,再自己总结一下,

函数指针与指针函数的本质

	指针函数本质是一个函数,其返回值为指针 。
	函数指针本质是一个指针,其指向一个函数,----可以在程序中用指针来调用函数--后面代码有引用

函数指针

在说函数指针之前我们要先聊一下函数:                                       											
我们在声明一个函数后,那么系统会为这个函数分配一段存储空间,与数组类似,这段空间的首地址就是函数名,
所以一个地址就可以用指针变量来存放,由此函数指针就诞生了

格式:  函数返回值类型(*指针变量名)(函数参数列表);

例如: int (*p)(int x, int y );//这个语句 就定义了 一个 指向函数 的 指针变量p 。
其次,要注意:前面的int表示这个指针变量可以指向返回值类型为int型的函数。
下面就看具体应用
#incldue <iostream>
using namespace std;

int Max(int ,int );//声明一个函数,---可以省略形参的变量名,但是类型一定不能省去

int main()
{
	int (*p) (int , int);//定义了一个函数指针
    int a, b, c;

	p=Max;//把函数名Max(函数首地址)赋给指针变量p,使得p指向Max函数
	
	cout<<"请输入a和b"<<"\n";
	cin>>a>>b;

	cout<<"\n\n\n";

	c=(*p) (a, b);//直接通过函数指针来调用函数Max-----这里是函数指针的应用---亮点
	
	cout<<"a="<<a<<"\n\n";
	cout<<"a="<<a<<"\n\n";
	cout<<"max="<<c<<"\n\n";
	
	cin.get();cin.get();//吸收一个字符
		
	return 0;
}

int Max(int x ,int y)//子函数
{
	int z;
	
	if(x>y) z=x;

	if(x<y) z=y;	

	return z;
}
	下面是结果

在这里插入图片描述
在这里插入图片描述

指针函数

上述已经解释,其实就是结构上不一样与函数指针就在格式上少了一个小括号,跟普通一样来记就行了

如
int* p(int x, int y);//其实与普通函数并有什么区别,就是返回值的数据类型是一个指针即就是一个地址
上面的“*”可以在任何位置不影响,可以这样即 int *p(int x, int y);
同样也可以这样int * p(int x ,int y);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

栋哥爱做饭

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

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

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

打赏作者

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

抵扣说明:

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

余额充值