C++ 指针函数/函数指针

普通函数:
int func(int a)
{
	return a;
}
返回值是 int 类型的数值
指针函数:
定义: 返回指针的函数,本质是一个函数,该函数返回值是一个指针。
格式:类型标识符 * 函数名(参数列表)
int *func(int a);
int *func(int a)
{
	int *p = (int *)malloc(sizeof(int));
	memset(p, 0, sizeof(int));
	*p = a + 10;
	return p;
}
int main()
{
	int a = 10;
	int *b = func(a);
	cout << *b << endl;
	delete b;
}
函数指针:指向函数的指针,本质是一个指针变量,该指针指向函数。
格式: 类型说明符 (*函数名)(参数)
函数指针需要把一个函数的地址赋值给他
add_func = add1;
add_func = &add2;
函数指针调用:
int c1 = add_func(10);
int d = (*add_func)(10);
int(*add_func)(int a);
int add1(int a)
{
	return a + 10;
}
int add2(int a)
{
	return a + 100;
}
int main()
{
	add_func = add1;		//赋值
	int c = (*add_func)(10);//调用1
	int c1 = add_func(10);	//调用2
	cout << c << endl;
	cout << c1 << endl;

	add_func = &add2;		//赋值
	int d = (*add_func)(10);//调用1
	int d1 = add_func(10);	//调用2
	cout << d << endl;
	cout << d1 << endl;
}
区别:
指针函数 是一个函数,返回指针
函数指针 是一个指针,指向函数
定义、与使用方法不同。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值