指针函数,简单的来说,就是一个返回指针的函数,其本质是一个函数,而该函数的返回值是一个指针。
函数指针,其本质是一个指针变量,该指针指向这个函数。总结来说,函数指针就是指向函数的指针。
一个是函数,一个是指针。
#include<iostream>
using namespace std;
//指针函数,简单的来说,就是一个返回指针的函数,其本质是一个函数,而该函数的返回值是一个指针。
inline int * Swap(int & A, int &B)//返回一个指针,本质是函数
{
A = A + B;
B = A - B;
A = A - B;//不使用第三个变量实现两个数之间的交换
return &A;
}
//
//函数指针,其本质是一个指针变量,该指针指向这个函数。总结来说,函数指针就是指向函数的指针。
int main()
{
//下面声明一个函数指针:
int*(*Func) (int &A, int&B);//因为Swap函数返回的是一个指针所以函数指针也要加上*
// 如果Func不返回指针则函数指针声明为:int(*Func) (int &A, int&B);
//函数指针是需要把一个函数的地址赋值给它,有两种写法:
int A = 1;
int B = 2;
/*Func = &Swap;
(**Func)(A, B);*/
Func = Swap;//函数指针的两种调用方式,一个加上&,一个不加&
Func(A, B);
int c = 0;
}