`

c函数指针和指针函数及extern的用法

阅读更多
 #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了
 
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics