zoukankan      html  css  js  c++  java
  • 指向函数的指针

    指向函数的指针

    #include <stdio.h>
    
    int square(int num)
    {
        return num * num;
    }
    
    int main(void)
    {
        int num;
        
        int (*fp)(int);
        printf("please input a number:");
        scanf("%d", &num);
        fp = square;
        printf("fp = %p, %d
    ", fp, (*fp)(num));
        
        return 0;
    }
    
    

    函数指针数组

    #include <stdio.h>
    
    void function1(int);
    void function2(int);
    void function3(int);
    
    int main(void)
    {
        //根据优先级,f[3]是一个数组,*f[3]说明数组元素都是指针类型,3个元素都是指向参数是int返回类型是void的函数
        void (*f[3])(int) = {function1, function2, function3};
        int choice;
        
        printf("输入一个数:范围[0-2]");
        scanf("%d", &choice);
        while (choice >= 0 && choice <= 2) {
            (*f[choice])(choice);
            printf("输入一个数:范围[0-2]");
            scanf("%d", &choice);
        }
        printf("程序运行结束。
    ");
        
        return 0;
    }
    void function1(int choice)
    {
        printf("输入了%d,运行了function1函数。
    ", choice);
    }
    void function2(int choice)
    {
        printf("输入了%d,运行了function2函数。
    ", choice);
    }
    void function3(int choice)
    {
        printf("输入了%d,运行了function3函数。
    ", choice);
    }
    
    
  • 相关阅读:
    centos中文乱码修改字符编码使用centos支持中文
    java知识总结-26
    java知识总结-25
    java知识总结-24
    java知识总结-23
    java知识总结-22
    java知识总结-21
    java知识总结-20
    java知识总结-19
    java知识总结-18
  • 原文地址:https://www.cnblogs.com/2018jason/p/12931408.html
Copyright © 2011-2022 走看看