指针函数
是函数,返回值是一个指针
#include<stdio.h>
int* fun(int* x) //传入指针
{
int* tmp = x; //指针tmp指向x
return tmp; //返回tmp指向的地址
}
int main()
{
int b = 2;
int* p = &b; //p指向b的地址
printf("%d",*fun(p));//输出p指向的地址的值
return 0;
}
函数指针
是指针,指向函数地址,函数名就是地址,所以有()
#include <stdio.h>
int add(int x, int y)
{
return x + y;
}
int (*fun)(int , int );
int main()
{
fun = &add; //函数指针等价于add函数
printf("相加:%d\n", (*fun)(1,2));
}