C++程序设计:通过指针调用函数详解

需积分: 48 151 下载量 118 浏览量 更新于2024-08-23 收藏 8.66MB PPT 举报
"这篇资料是关于C++程序设计的,主要讲解了如何使用指向函数的指针变量调用函数的概念,出自谭浩强的《C++程序设计--谭浩强(完整版)》。文中通过两个示例展示了两种不同的调用方式,强调了通过指针变量调用函数的方法。此外,资料还包含了C++语言的历史和发展,以及C语言的主要特点,如结构化、高效性、可移植性和自由度等。" 在C++中,函数指针是一种强大的工具,允许我们存储函数的地址并以动态的方式调用它们。在提供的代码示例中,首先展示了一个简单的`max`函数,用于返回两个整数中的较大值。接着,有两个`main`函数,第一个直接调用了`max`函数,而第二个则使用了指向函数的指针`p`来调用`max`。 定义一个指向函数的指针变量,需要指定函数的返回类型和参数列表。例如,`int (*p)(int, int)`定义了`p`是一个接受两个整数参数并返回整数值的函数指针。在代码中,`p = max`将`max`函数的地址赋值给了`p`,使得`p`可以像普通变量一样使用。当通过`p(a, b)`调用函数时,实际上是通过指针调用了`max`函数,并将`a`和`b`作为参数传递。 C++的这一特性在很多场景下非常有用,比如在需要动态选择执行哪个函数时,或者在回调函数中。它使得代码更加灵活,可以实现函数式编程的一些概念,如高阶函数。同时,C++的函数指针与C语言紧密相连,因为C++兼容C语言的语法,因此函数指针也是C++向后兼容C的一个重要特性。 C++语言的起源和发展与C语言密不可分。C语言起源于20世纪70年代,由贝尔实验室的Dennis Ritchie和Brian Kernighan开发,主要用于UNIX操作系统的编写。C++是由Bjarne Stroustrup在C语言的基础上扩展的,引入了面向对象编程的概念,增强了类型检查和模板等功能,同时保留了C的高效和灵活性。 C语言的特点包括: 1. 结构化编程:C语言采用模块化的结构,便于理解和维护。 2. 高级语言与汇编语言的结合:丰富的运算符支持,包括位运算,使C语言在底层操作上十分强大。 3. 可移植性:C语言编写的程序可以在多种平台上运行,无需或只需少量修改。 4. 语法灵活:这使得熟练的程序员可以写出高效且通用的代码,但也可能给初学者带来挑战。 在学习和使用C++时,理解函数指针是至关重要的,因为它能帮助你编写更灵活、功能更丰富的代码。同时,了解C语言的基本特点也有助于深入理解C++,尤其是在处理底层操作和系统编程时。