函数指针和指针函数
- 函数指针和指针函数
- 指向函数的指针
- 返回指针值的函数
- 指针函数和函数指针的区别
 
- 问题1_1
- 代码1_1
- 结果1_1
 
函数指针和指针函数
指向函数的指针
        用函数指针变量调用函数
         可以用指针变量指向整型变量、字符串、数组,也可以指向一个函数。一个函数在编译时被分配给一个入口地址。这个函数的入口地址就称为函数的指针。
         函数指针变量常用的用途之一是把指针作为参数传递到其他函数。
  
      
       
        
        
          类型名 
         
        
          ( 
         
        
          ∗ 
         
        
          函数名 
         
        
          ) 
         
        
          (参数表列) 
         
        
          ; 
         
        
       
         类型名 (*函数名)(参数表列); 
        
       
     类型名(∗函数名)(参数表列);
         例如:
  
      
       
        
        
          i 
         
        
          n 
         
        
          t 
         
        
            
         
        
          ( 
         
        
          ∗ 
         
        
            
         
        
          a 
         
        
          ) 
         
        
          ( 
         
        
          i 
         
        
          n 
         
        
          t 
         
        
            
         
        
          x 
         
        
          , 
         
        
          i 
         
        
          n 
         
        
          t 
         
        
            
         
        
          y 
         
        
          ) 
         
        
          ; 
         
        
       
         int\ (*\ a)(int\ x, int\ y); 
        
       
     int (∗ a)(int x,int y);
返回指针值的函数
        一个函数可以带回一个整型值、字符值、实型值等,也可以带回指针型的数据,即地址。其概念与以前类似,只是带回的值的类型是指针类型而已。这种带回指针值的函数,一般定义形式为:
  
      
       
        
        
          类型名 
         
        
          ∗ 
         
        
          函数名(参数表列) 
         
        
          ; 
         
        
       
         类型名 *函数名(参数表列); 
        
       
     类型名∗函数名(参数表列);
         例如:
  
      
       
        
        
          i 
         
        
          n 
         
        
          t 
         
        
            
         
        
          ∗ 
         
        
            
         
        
          a 
         
        
          ( 
         
        
          i 
         
        
          n 
         
        
          t 
         
        
            
         
        
          x 
         
        
          , 
         
        
          i 
         
        
          n 
         
        
          t 
         
        
            
         
        
          y 
         
        
          ) 
         
        
          ; 
         
        
       
         int\ *\ a(int\ x, int\ y); 
        
       
     int ∗ a(int x,int y);
指针函数和函数指针的区别
        这两个概念都是简称:
         指针函数是指带指针的函数,即本质是一个函数。
         函数指针是指向函数的指针变量,因而函数指针本身首先应是指针变量,只不过该指针变量指向函数。
问题1_1
函数 f u n fun fun的功能是:用函数指针指向要调用的函数,并进行调用。
代码1_1
#include<stdio.h>
double f1(double x){
	return x*x;
}
double f2(double x, double y){
	return x*y;
}
double fun(double a, double b){
	double  (*f)();
	double r1, r2;
	f = f1;
	r1 = f(a);
	f = f2;
	r2 = (*f)(a, b);
	return r1+r2;
}
void main(void){
	double x1=5, x2=3, r;
	r = fun(x1, x2);
	printf("\nx1  = %f, x2 = %f, x1*x1 + x1*x2 = %f\n", x1, x2, r);
}
结果1_1







![[Meachines] [Easy] Postman redis未授权访问-SSH公钥注入+RSA私钥解密+Webmin-RCE权限提升](https://img-blog.csdnimg.cn/img_convert/2f3e67ab9d315ea98434a574c9fe6cb7.jpeg)





![二十天刷leetcode【hot100】算法- day1[后端golang]](https://i-blog.csdnimg.cn/direct/247599f2ca1040459a629782695463fb.jpeg)






