#include <stdio.h> int max(int a,int b){ return a>b?a:b; } int *maxs(int a,int b){ int c=0; int *p; c=a>b?a:b; p=&c; printf("最大的数是 %d",c); return p; } functionPoint(){ int result=0; int(*pmax)();//定义一个函数指针。 pmax=max; //并把max函数赋给这个pmax指针 result=pmax(2,3); printf("函数指针的返回值是%d\n",result); } PointFunciton(){ int result=0; int *p=maxs(3,7); //因为函数的返回值是指针,所以定义一个变量来接受它 //int a=*p; // int *re=*p; printf("指针函数的返回值是%d",*p); } int main(int argc, char *argv[]) { functionPoint(); //函数指针,指向函数的指针 PointFunciton(); //指针函数,说明返回值是一个指针 return 0; } /* int *p(); p为带回一个指针的函数,该指针指向整型数据*/
extern用法
#include <stdio.h>
int a=0;
int main(){
extern b;
printf("%d\n",b);
}
int b=2; //extern来声明外部变量,因为int b=2是在main函数之后定义,
//所以main必须通过extern b来声明,就可以访问b了