假定一个指针指向一个int变量,它保存着这个int变量在内存中存储的地址,同样,函数也有地址,这是因为函数的机器语言实现
是由载入到内存的代码组成,指向函数的指针中保存着函数代码起始处的地址
void ToUpper(char *) //函数原型
void (*pf) (char *) //函数指针
void *ph (char *); //返回指针的函数(指针函数)
声明一个指向特定函数类型的指针,首先声明一个该类型的函数,然后用(*pf)形式的表达式代替函数名称,pf就成为可指向那种
类型的函数的指针了;有了函数指针之后,可以把适当类型的函数的地址赋给它,函数名可以用来表示函数的地址,如:
pf = ToUpper;
指针pf可以指向任何一个接受一个char *参数并且返回类型为void的函数
函数指针最常见的用法之一是作为函数的参数,函数指针代表着一类函数,如:
char *ch = "test function pointer";
void show(void (*pf)(char *), char *str);
show(ToUpper, ch); //调用show,将ToUpper函数作为参数
void show(void (*pf)(char *), char *str){
(*fp)(str); //执行函数指针,并将str作为参数传入,或者fp(str)
puts(str);
}
分享到:
相关推荐
在这个“函数指针与指针函数应用程序”中,我们将深入探讨这两个核心主题。 首先,我们要理解函数指针。函数在C/C++中被视为对象,可以被赋值、传递和返回。函数指针就是一个指向函数的指针,它存储了函数在内存中...
### 函数指针与指针函数的理解 #### 一、函数指针与指针函数的基本概念 在C语言中,函数指针和指针函数是两个重要的概念,它们经常出现在较为复杂的程序设计中,尤其在回调函数、动态绑定等场景中发挥着重要作用。...
它与函数指针不同,但经常一起使用。例如,我们可以创建一个返回指向字符串的指针的函数: ```c char* getGreeting() { static char greeting[] = "Hello, World!"; return greeting; } ``` 在实际编程中,函数...
#### 四、示例:普通函数指针与指针函数指针 - **普通函数指针**:上述已经介绍了普通函数指针的声明和使用方法。 - **指针函数指针**:这是一个更高级的概念,指的是函数返回值本身也是一个函数指针。这种类型的...
在C语言中,函数指针和指针函数是高级特性,它们允许我们以灵活的方式处理函数,实现回调、动态调用、以及各种复杂的程序设计模式。这篇训练将深入探讨这两个概念,帮助你更好地理解和运用它们。 一、函数指针 ...
在C/C++编程语言中,函数指针和指针函数是两个不同的概念,虽然它们都涉及到指针和函数,但其用法和含义各有特点。理解这两者的差异对于编写高效、灵活的代码至关重要。 首先,我们来解释"函数指针"。函数指针是一...
在C语言中,指针和函数是两个非常重要的概念,而将它们结合在一起,就产生了指针函数和函数指针变量。这两个概念是C语言高级特性的体现,它们在编程中有着广泛的应用,如回调函数、动态加载库、内存管理等。 首先,...
【指针函数】与函数指针不同,**指针函数**是指返回一个指针值的函数。这允许函数返回内存地址,可以是任何数据类型,例如整型、字符型或结构体等。定义一个返回指针的函数,通常格式为`类型标识符 *函数名(参数表)`...
C51 函数指针与再入函数 函数指针是 C 语言中几个难点之一。由于 8051 的 C 编译器的独特要求,函数指针和再入函数有更多的挑战需要克服。主要由于函数变量的传递。典型的(绝大部分 8051 芯片)函数变量通过堆栈的...
### 彻底理解指针,指针数组和数组指针,指针函数和函数指针 #### 一、基础知识 在计算机编程中,指针是一个非常重要的概念,尤其是在C/C++这样的语言中更是如此。简单来说,指针是一种变量,但它存储的不是普通的...
### 函数指针与指针函数的定义及应用 #### 一、函数指针与指针函数的概念 在计算机编程中,特别是在C语言及其衍生语言中,指针是一种非常重要的概念,它允许开发者直接访问内存地址。在此基础上,进一步发展出了...
C语言指针函数和函数指针详细介绍 C语言中指针函数和函数指针是两个不同的概念,但它们之间存在着紧密的联系。本文将对C语言中的指针函数和函数指针进行详细的介绍。 一、指针函数 指针函数是指返回值为指针的...
#### 函数指针的理解与使用 **函数指针**是一种特殊的指针类型,它可以用来存储函数的地址,进而通过该指针来调用函数。理解函数指针的关键在于认识到函数也是一种具有特定地址的实体。 ##### 定义函数指针 函数...
类的成员函数指针在声明时需要指定所属的类,这是因为成员函数与`this`指针绑定,而`this`指针指向当前对象。因此,成员函数指针的声明看起来会比较特别: ```cpp class CA; typedef int(CA::*pClassFun)(int, int)...
指针函数与函数指针不同,它是指返回一个指针的函数。换句话说,它的返回值是一个指针类型。在示例中: ```c int *GetDate(int week, int day) ``` `GetDate`是一个指针函数,它接受两个整型参数(一周中的星期和...
### C/C++ 函数指针的意义与应用 在C/C++编程中,函数指针是一种高级特性,它允许程序员处理函数的方式如同处理变量一般灵活。理解函数指针的意义及其用法,对于提升代码的可扩展性和灵活性至关重要。 #### 1. ...
### C语言指针详解:函数指针与指针函数 #### 第十章 指针 **一、指针的基本概念** 指针是C语言中一个非常重要的概念,它允许程序员直接操纵内存地址,这对于提高程序效率至关重要。理解指针的基础概念是学好...