zoukankan      html  css  js  c++  java
  • C语言里的函数指针

      一直对函数指针没有仔细研究,用的也很少,抽空仔细研究了一下,记录一下。

    函数指针:指向函数地址的指针。和其他指针类似,也有类型、赋值等相关概念。

    下面是写的测试代码:

    #include"stdio.h"
    
    typedef void (*fn_void_int) (int,int);
    
    void temp(int i,int k)
    {
        printf("i = %d, k = %d \n", i , k);
    }
    
    void temp2(int i,int k)
    {
        printf("i*2 = %d, k*2 = %d \n", i*2 , k*2);
    }
    
    void callTemp(fn_void_int fn, int i, int k)
    {
        fn(i,k)        ;
    }
    
    int main(void)
    {
        /* 最基本的写法 */
        void (*f1) (int,int);
        f1 = temp;
        f1(1,2);
        
        /* 通过typedef定义后的写法 */
        fn_void_int f2;
        f2 =temp ;
        f2(3,4);
        
        /* 把函数指针作为参数传递给其他函数 */
        fn_void_int f3;
        f3 = temp2;
        callTemp(f3,5,6);
        
        return 0;
    }

    输出结果:

     i = 1, k = 2
    i = 3, k = 4
    i*2 = 10, k*2 = 12

  • 相关阅读:
    140704
    140703
    140702
    堆排序
    并查集
    140701
    这年暑假集训-140630
    vim for python
    hihocode 第九十二周 数论一·Miller-Rabin质数测试
    hdu 3157 Crazy Circuits 有源汇和下界的最小费用流
  • 原文地址:https://www.cnblogs.com/joyer/p/3025210.html
Copyright © 2011-2022 走看看