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

文章介绍了C++中的指针函数,即返回值为指针类型的函数,以及如何通过函数指针间接调用其他函数。示例中,`test1`函数返回全局变量`a`的地址,而`main`函数中定义的函数指针`p`用于调用`test`函数。
摘要由CSDN通过智能技术生成

指针函数

指针函数:函数的返回值类型是个指针的函数

例如这样的:

int a = 9;//全局变量a
int* test1() { //指针函数带星号,返回的是指针类型
	int* p;
	p = &a;//把a的地址给p
	return p;//返回p的地址
}
int main() {
	int* k;//定义指针k
	k = test1();//这里k会得到p存储的地址
	cout << *k;//输出的值为a的值,即为9

}

在这里插入图片描述

指针函数就是返回值是一个地址的函数

函数指针

函数指针:假设有一个函数名称为a,那么就要用函数名称为b的函数间接的调用函数名称为a的函数。

格式:函数返回类型(*函数指针名字)(参数类型,参数类型)= &要间接调用函数的名称

下面的p函数其实就等价于test函数

void test(int a, int b) {
	cout << a << " " << b << endl;
}
int main() {
	void(*p)(int, int) = &test;//定义名称为p的函数指针,可以调用test函数
	p(3, 4);//输出的值和调用test函数时一样, 3 4

}```

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

zhuyua

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

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

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

打赏作者

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

抵扣说明:

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

余额充值