指针函数和函数指针

来源:互联网 发布:bbc人体的奥秘知乎 编辑:程序博客网 时间:2024/05/22 15:12
和指针数组与指针数组一样,顾名思义。
指针函数:返回指针值的函数,返回值是一个地址。
函数指针:指向函数的指针,可以通过该指针调用函数。
指针函数:形如int *fun(int x)     返回值为指针      

函数指针:形如int (*fun)(int x)   返回值为整型

//指针函数//返回一个数组首地址#include<stdio.h>int* fun(int* a);int main(){int a[5]={5,6,7,8,9};//传回来的是一个数组的首地址printf("%d\n",fun(a));printf("%d\n",*(fun(a)));//通过指针取出值printf("%d\n",*(fun(a)+1));return 0;}int* fun(int* a){int b[2]={1,2};int *p = b;return p;}
//函数指针#include<stdio.h>int max(int x,int y);int min(int x,int y);int (*p)(int x,int y);//定义一个函数指针int main(){int x,y,n;printf("input x,y:");scanf("%d%d",&x,&y);printf("choose 1,2:");scanf("%d",&n);if(n==1){p=max;//使p指向max函数printf("max=%d\n",(*p)(x,y));}else if(n==2){p=min;printf("min=%d\n",(*p)(x,y));}elseprintf("error!\n");return 0;}int max(int x,int y){if(x>y)return x;return y;}int min(int x,int y){if(x<y)return x;return y;}

0 0