`

函数指针基本用法

    博客分类:
  • c
阅读更多
1.基本用法
#include <stdio.h>

int add(int x, int y) {return(x + y);}
int sub(int x, int y) {return(x - y);}
int mul(int x, int y) {return(x * y);}
int div(int x, int y) {return(x / y);}

int main(void)
{
  int (*pf)(int, int);

  pf = add;
  printf("%dn", pf(9, 3)); /* 12 */
  
  pf = sub;
  printf("%dn", pf(9, 3)); /* 6 */
  
  pf = mul;
  printf("%dn", pf(9, 3)); /* 27 */
  
  pf = div;
  printf("%dn", pf(9, 3)); /* 3 */
  
  getchar();
  return 0;
}


2.函数指针数组
#include <stdio.h>

int add(int x, int y) {return(x + y);}
int sub(int x, int y) {return(x - y);}
int mul(int x, int y) {return(x * y);}
int div(int x, int y) {return(x / y);}

int main(void)
{
  int (*pf[4])(int, int) = {add, sub, mul, div};

  printf("%dn", pf[0](9, 3)); /* 12 */
  printf("%dn", pf[1](9, 3)); /* 6 */
  printf("%dn", pf[2](9, 3)); /* 27 */
  printf("%dn", pf[3](9, 3)); /* 3 */
  
  getchar();
  return 0;
}


3.函数指针做参数
#include <stdio.h>

int add(int x, int y) {return(x + y);}
int sub(int x, int y) {return(x - y);}
int mul(int x, int y) {return(x * y);}
int div(int x, int y) {return(x / y);}

int math(int(*pfun)(int, int), int x, int y) {
  return pfun(x, y);
}

int main(void)
{
  printf("%dn", math(add, 9, 3)); /* 12 */
  printf("%dn", math(sub, 9, 3)); /* 6 */
  printf("%dn", math(mul, 9, 3)); /* 27 */
  printf("%dn", math(div, 9, 3)); /* 3 */
  
  getchar();
  return 0;
}
分享到:
评论

相关推荐

    C/C++ 函数指针的意义,函数指针的用法

    理解函数指针的意义及其用法,对于提升代码的可扩展性和灵活性至关重要。 #### 1. 函数指针的基本概念 在C/C++中,函数也是一种数据类型,它被存放在内存的代码区域,并且有其独特的地址。获取函数地址的方式很...

    函数指针和指针函数,const的用法,指针常量,常量指针的用法

    通过函数指针调用函数的基本步骤如下: 1. **声明函数指针**:`int (*f)(int x);` 2. **给函数指针赋值**:`f = func;` 3. **通过函数指针调用函数**:`(*f)(x);` #### 指针函数的概念与实例 **指针函数**是指...

    C++ 一般(普通)函数指针、类成员函数指针,用法区别,以及强制转换

    `函数指针.cpp`、`StdAfx.cpp`、`函数指针.dsp`、`函数指针.dsw`和`StdAfx.h`等文件可能包含示例代码,用于演示上述概念的使用。`ReadMe.txt`文件可能提供了进一步的说明或使用这些代码的指南。通过阅读和分析这些...

    Keil C51中函数指针的使用

    其次,无参数的函数指针的使用方法与ANSI C基本相同。例如: ```c void foo(void) { return; } int main(void) { void (*pf) (void) = foo; (*pf) (); return 0; } ``` 最后,带参数的函数指针一般来说,函数...

    C语言中关于函数指针的用法

    下面将详细介绍函数指针的基本概念、定义方法以及在实际编程中的应用。 #### 函数指针的基本概念 函数指针是指向函数的指针变量。在C语言中,函数也是一种特殊的“数据类型”,可以被赋值给一个指针变量。这样,...

    函数指针和指针函数的区别

    在C/C++编程语言中,函数指针和指针函数是两个不同的概念,虽然它们都涉及到指针和函数,但其用法和含义各有特点。理解这两者的差异对于编写高效、灵活的代码至关重要。 首先,我们来解释"函数指针"。函数指针是一...

    函数指针查表用法 - 副本.zip

    本文将深入探讨函数指针查表的原理、使用方法以及其在单片机编程中的应用。 首先,理解函数指针的基本概念至关重要。函数指针是一个指向函数的指针,它可以用来存储函数的地址,以便在程序的运行时调用该函数。声明...

    函数指针和函数对象

    本文将详细介绍函数指针和函数对象的定义、类型、使用方法和区别。 一、函数指针 函数指针是指向函数的指针变量,可以指向全局函数或类成员函数。函数指针的类型是指针类型,例如`typedef void (*fp)(int);`,其中...

    c++函数数组指针的使用方法

    ### C++函数数组指针的使用方法 #### 引言 C++作为一种强大的面向对象编程语言,提供了多种机制来提高程序的效率与可维护性。其中,“函数指针”是C++中的一个高级特性,它允许程序员以更加灵活的方式处理函数调用...

    易语言简单类函数指针

    易语言是一种国产的、以中文编程为特色的编程语言,它旨在...通过以上的讲解,我们了解了易语言中简单类函数指针的基本概念、应用及注意事项。掌握这些知识点,能够帮助我们在易语言编程中实现更加灵活和高效的设计。

    函数指针就是指向函数的指针;类成员方法指针,类具有类域操作符

    3. **typedef简化函数指针**:为了简化函数指针的使用,可以使用`typedef`创建一个别名,使得声明和使用函数指针更加直观。例如,我们可以定义一个类型`FP`,它代表了某个特定签名的函数指针,然后用这个别名来声明...

    函数指针与指针函数应用程序

    通过阅读提供的"函数指针应用.docx"文档,你将更深入地了解如何在实际项目中使用函数指针和指针函数,包括它们的声明、赋值、传递和调用方式,以及它们在解决实际问题时的策略和技巧。文档可能还会涵盖一些高级主题...

    函数指针的详解

    - **普通函数指针**:上述已经介绍了普通函数指针的声明和使用方法。 - **指针函数指针**:这是一个更高级的概念,指的是函数返回值本身也是一个函数指针。这种类型的函数指针在实际开发中较少见,但可以用于实现...

    函数指针与函数指针数组,多层

    总之,这个例子展示了C++中函数指针的基本用法,包括如何声明、定义和传递函数指针,以及如何在数组中存储和操作函数指针。通过这样的练习,你可以更好地理解和掌握C++中的函数指针及其在实现灵活代码中的作用。

    vc++类函数指针的应用

    首先,我们需要了解类函数指针的基本用法。与普通函数指针不同,类函数指针需要指定所属的类,因为成员函数有其特定的“this”指针,指向调用该函数的对象。在C++中,我们可以通过typedef或者std::function来声明类...

    有关C/C++的函数指针概念课件仅供学习使用

    函数指针的使用方法是先给指针赋值为函数的入口地址,然后通过函数指针调用该函数。例如,如果有一个函数PrintMin,可以这样使用函数指针: ```c #include void PrintMin(int a, int b) { if (a ) printf("%d", ...

    易语言简单类函数指针源码

    总之,易语言简单类函数指针源码提供了关于如何在易语言中创建类、定义函数指针、以及在类中使用函数指针作为成员的实例。这种技术可以用于实现事件处理、插件机制、策略模式等设计模式,提高了代码的复用性和可维护...

    函数指针万能打印_C++_VS_

    在C++编程中,函数指针是一个非常强大的工具,它允许我们将函数作为其他函数的参数或者存储在变量中。在本示例中,“函数指针万能打印”...通过深入理解和熟练掌握函数指针的用法,开发者能够更好地驾驭C++的强大功能。

    函数指针_extern_typedef_const_static的基本用法

    在C/C++编程语言中,`函数指针`、`extern`、`typedef`、`const`和`static`是五个非常重要的关键字,它们各自有着独特的功能和用途。本篇文章将详细阐述这些概念及其基本用法。 首先,我们来看`函数指针`。函数指针...

    指向函数的指针运用

    总结来说,这个示例展示了C++中如何使用函数指针作为参数,实现了函数的动态调用,这是函数式编程的一种体现,有助于提高代码的复用性和灵活性。同时,它也结合了数学概念(积分)与编程技巧,提供了一个有趣的实践...

Global site tag (gtag.js) - Google Analytics