码迷,mamicode.com
首页 > 其他好文 > 详细

<26>【了解】10-函数指针概念及定义+【掌握】11-函数指针使用+

时间:2015-07-12 15:29:39      阅读:119      评论:0      收藏:0      [点我收藏+]

标签:

【了解】10-函数指针概念及定义

函数指针变量
 
          存放函数的首地址的指针变量就是函数指针变量
 
    函数指针变量的定义
 
          返回值类型  (*变量名)(函数的参数);
 
 
    函数的声明:
 
      int sum(int a,int b);----> 函数指针 int (*p1)(int a,int b);
   
      //定义了一个函数指针 p1 
      //p1可以存放 返回值是int类型,并且有两个形参,形参的类型还都是int类型的函数的地址
 
      //函数指针的初始化
 
      p1 = sum;  //sum存的就是函数在内存中的首地址
#include <stdio.h>

float f1(int x,int y){

    return x+y;

}

int sum(int a,int b){

    return  a+b;

}
int main(int argc, const char * argv[]) {
    
    
    int x= 3,y = 5;
    int s = sum(x, y);
    //定义函数指针
    int (*p)(int a,int b);
    //初始化函数指针
    p = sum;  //sum 函数的首地址
    
    // p = f1; 不可以的
    
    //注意:定义函数指针的时候,可以不用写形参名
    int (*p1)(int ,int );
    p1 = sum;
    return 0;
}

【掌握】11-函数指针使用 

#include <stdio.h>

int sum(int x,int y){
    
    return x+y;
    
}

int jian(int x,int y){
    
    return x-y;
    
}

int cheng(int x,int y){
    
    return x*y;
    
}

int chu(int x,int y){

    return x/y;

}

int main(int argc, const char * argv[]) {
    
    //函数指针的使用
    //1、定义函数指针
    int (*p)(int ,int );
    //2、给函数指针初始化
    p = sum;  //p也指向了sum函数
    
    switch (3) {
        case 1:
            p = sum;
            break;
        case 2:
            p = jian;
            break;
        case 3:
            p = cheng;
            break;
        case 4:
            p = chu;
            break;
            
        default:
            break;
    }
    
    //3、用函数指针间接的调用函数
    //     (*p)(23,45);
    int s = p(23,45);
 
    printf("%d\n",s);
    
    return 0;
}
1035

 

<26>【了解】10-函数指针概念及定义+【掌握】11-函数指针使用+

标签:

原文地址:http://www.cnblogs.com/kongweiiwei/p/4640913.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!