指针函数
字面理解:本质是一个函数,返回的是一个指针(地址)给调用者
声明:
int* FunctionToPointer(int x)
意义:
函数 FunctionToPointer是一个具有一个int类型的参数,返回值为int类型的指针 的 函数。
代码举例:
int* larger(int*, int*);//函数 larger 是一个具有两个指向整型的指针的参数,返回值为int类型的指针 的 函数。
void main()
{
int a = 15;
int b = 92;
int *p;
p = larger(&a, &b);//调用 larger 函数,返回 一个指向 int 类型的 指针 p, 返回的是 p 的地址
printf("%d is larger",*p);//输出为 地址p 指向的值
}
int* larger(int *x, int *y)
{
if(*x > *y)
return x;
else
return y;
}
函数指针
字面理解:本质是一个指针,这个指针指向一个函数。
声明:
int (*PointerToFunction)(int x)
意义:
指针 PointerToFunction 是一个指向具有两个int型参数,返回值为int型的函数 的 指针
代码举例:
int sum(int x, int y)//sum 函数 是一个具有两个int型参数,返回值为int型的函数
{
return x+y;
}
int main( )
{
int (*fp)(int, int);//fp 是一个指向具有两个int型参数,返回值为int型的函数 的 指针
fp = sum;// 指针fp指向 sum函数
int s = fp(10, 15);
printf("Sum is %d", s);
return 0;