美文网首页
函数指针

函数指针

作者: KeHaoo | 来源:发表于2020-04-23 18:32 被阅读0次

以前在学c的时候对于函数指针的概念没有怎么仔细看,现在回来温习一下,做个记录以后方便回看

因为太简单了,直接把代码pull在这

int main(){
    int choose;
    printf("1.传统调用函数\n");
    printf("2.利用函数指针调用\n");
    printf("3.函数指针作为参数\n");
    printf("please input your choose:\n");
    scanf("%d", &choose);
    switch (choose)
    {
    case 1:
        funNormal();
        break;
    case 2:
        funPointer();
        break;
    case 3:
        funPointerPara(max);
        break;
    default:
        break;
    }
}

void funPointerPara(int(*p)(int, int)){
    printf("函数指针作为参数\n");

    int a, b, c;
    printf("please input two number\n");
    scanf("%d%d", &a, &b);
    printf("a = %d,b= %d\n", a, b);
    c = (*p)(a, b);
    printf("max is %d\n", c);
}

void funPointer(){
    printf("利用函数指针调用\n");

    int a, b, c;
    printf("please input two number\n");
    scanf("%d%d", &a, &b);
    printf("a = %d,b= %d\n", a, b);
    //利用函数指针调用
    int(*p)(int, int);//定义函数指针
    p = max;
    c = (*p)(a, b);
    printf("max is %d\n", c);
}

void funNormal(){
    printf("传统调用函数\n");

    int a, b, c;
    printf("please input two number\n");
    scanf("%d%d", &a, &b);
    printf("a = %d,b= %d\n", a, b);
    //传统调用函数
    c = max(a, b);
    printf("max is %d\n", c);
}

int max(int a, int b){
    return a > b ? a : b;
}
两种调用方法
#include <stdlib.h>  
#include <stdio.h>

int max(int a,int b){
    return a > b ? a : b;
}

int min(int a, int b){
    return a < b ? a : b;
}

int fun1(int a, int b, int(*p)(int a, int b)){
    return (*p)(a, b);
}

int fun2(int a, int b, int(*p)(int a, int b)){
    return p(a, b);
}

int main(){
    int result1 = fun1(7, 8, max);
    int result2 = fun2(7, 8, max);
    printf("result1: %d\n", result1);
    printf("result1: %d\n", result2);
}

相关文章

  • 函数和指针

    函数指针: 指向函数的指针(是指针)指针函数:返回值是指针的函数(是函数)

  • 函数指针

    概念: 指针函数, 函数指针, 指针数组, 数组指针, 指向数组的指针, 指向函数指针数组的指针。

  • 指针

    一. 指针指向的是对象的地址//函数指针:指针指向函数//指针函数:函数返回指针 二.

  • C:函数指针的坑

    关于该死的函数指针和指针函数 先来个目录 常量指针、指针常量 数组指针、指针数组 函数指针、指针函数 1、先看第一...

  • C语言基础知识点

    函数指针与回调函数 1、函数指针:函数指针是指向函数的指针变量,以下实例声明了函数指针变量 p,指向函数 max:...

  • NDK启航篇——C语言基础(函数指针)

    昨天介绍了指针类型、空指针、指针运算,今天来写一下函数指针 函数指针 函数指针的定义:函数的返回值类型(函数指针的...

  • C语言基础---函数指针和回调函数

    版权声明:本文为小斑马伟原创文章,转载请注明出处!函数指针:函数指针 是指向函数的指针。指针函数:指针函数 函数...

  • Redis

    1.指针函数与函数指针 指针函数本质是指针,其返回值是指针。如 float *fun(); 函数指针,本质是指针。...

  • C++:函数指针 & 返回函数指针的函数

    函数指针 & 返回函数指针的函数 一、函数指针的声明和使用 声明一个函数指针,给它赋值并调用它指向的函数 函数指针...

  • 函数指针

    一.函数指针,指针指向函数 二.函数指针做参数

网友评论

      本文标题:函数指针

      本文链接:https://www.haomeiwen.com/subject/drxzihtx.html