1、指针函数
返回指针的函数,本质是一个函数,只不过返回值是一个指针
int *fun(int x,int y);
int* fun(int x,int y);
int * fun(int x,int y);
#include <iostream>
#include <algorithm>
using namespace std;
struct Data{
int a;
int b;
};
Data *f(int a,int b)
{
Data * data = new Data;
data->a = a;
data->b = b;
return data;
}
int main()
{
Data * myData = f(4,5);
cout << myData->a;
return 0;
}
//输出4
函数指针
函数指针本质就是一个指针变量,该指针指向这个函数。总结来说函数指针就是指向函数的指针。
#include <iostream>
#include <algorithm>
using namespace std;
int add(int x,int y){
return x+y;
}
int sub(int x,int y){
return x-y;
}
//函数指针
int (*fun)(int x,int y);
int main()
{
//第一种写法
fun = add;
cout << "(*fun)(1,2) = " << (*fun)(1,2);
//第二种写法
fun = ⊂
cout << "(*fun)(5,3) = " << (*fun)(5,3) << fun(5,3);
return 0;
}
3
22