首页 > 编程语言 > 详细

C语言 指向函数的指针变量基础

时间:2020-06-24 11:49:09      阅读:59      评论:0      收藏:0      [点我收藏+]
/*
    指向函数的指针变量
    类型名(*指针变量名)(函数参数列表)
    类型名是函数的返回值类型
    指向函数的指针变量只能指向定义时指定类型的函数
    指向函数的指针变量不可以进行加减等运算
    用函数名调用函数只能调用指定的一个,指针变量调用可以视情况先后调用不同的同类型函数
*/
#include<stdio.h>

int main(void)
{
    int f(int a);       //声明f函数,函数名代表函数的起始地址
    int f1(int a,int b);
    

    int (*p)(int);      //定义一个指向返回值为整型且带有一个参数的函数的指针变量
    int (*q)(int,int);  //指向函数的指针变量在定义时就固定了只能指向什么样的函数,返回值类型和带有几个参数
    int a = 10,b = 5;
    int c;

    p = f;              //使指针变量指向f函数
    c = (*p)(a);        //通过指针变量运行f函数
    printf("%d\n",a);

    //p = f1;           //报错,因为P在定义的时候只带有一个参数 
    q = f1;
    c = (*q)(a,b);
    printf("%d\n",c);

    //以下时把指向函数的指针变量当作参数传递
    //通过这种方法,传入不同的函数名就可以实现调用不同的函数
    int fun(int (*x)(int,int),int,int); //声明一个函数,它的参数时指向函数的指针变量
    int i;
    i = fun(f1,a,b);        
    printf("%d\n",i);

    return 0;
}

int f(int a)
{
    return a;
}

int f1(int a,int b)
{
    int sum = a + b;
    return sum;
}

int fun(int (*x)(int,int),int a,int b)
{
    int i;
    i = (*x)(a,b);
    return i;
}

C语言 指向函数的指针变量基础

原文:https://www.cnblogs.com/hemage/p/13186057.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!