C++程序设计与函数指针:谭浩强教程解析

需积分: 4 11 下载量 145 浏览量 更新于2024-08-19 收藏 8.66MB PPT 举报
"C++程序设计教学资料,由谭浩强编著,主要讲解C++语言的发展历史、特点以及C语言的基础知识。" 在C语言中,函数是程序的基本组成单元,能够实现特定的功能。当我们谈论函数调用时,通常会区分“实参”和“形参”。实参(实际参数)是指在调用函数时提供的具体值,它们是函数调用时传入的实际数据。而形参(形式参数)则是函数定义中声明的变量,用于接收这些实参的值。 在【标题】中提到的“实参:实际的函数名(函数地址)”,这是指在C语言中,我们也可以将函数本身作为参数传递。这种情况下,实参不是常规的数值或对象,而是函数的地址,即函数的入口点。通过这种方式,一个函数可以接受另一个函数作为输入,并在其内部调用这个传入的函数,这种机制常被称为函数指针。 函数指针是一个特殊的指针变量,它存储的是函数的地址。在C语言中,函数指针的声明需要指定函数的返回类型和参数列表,确保与被指向的函数类型一致。例如,如果有一个接受两个整数参数并返回整数的函数`int add(int a, int b)`,那么对应的函数指针类型可以声明为`int (*func_ptr)(int, int)`。当我们将`add`函数的地址赋值给这样的函数指针后,就可以通过函数指针来调用`add`函数。 【描述】中提到的“形参:指向函数的指针变量”,这意味着在定义接受函数作为参数的函数时,形参通常是一个函数指针类型。在函数调用时,实参是实际函数的地址,通过形参的函数指针,调用者可以间接调用实参所代表的函数。 通用函数的概念,如描述中指出的“所有的内部函数调用都用函数指针调用”,意味着在某些情况下,可以使用函数指针来实现更加灵活和通用的代码。通过函数指针,我们可以根据不同的条件或需求动态地选择调用哪个函数,从而实现多态性或者回调机制。 C++是在C语言的基础上发展起来的,它不仅保留了C语言的大部分特性,还引入了面向对象编程的概念,如类、对象、继承、多态等。C语言的简洁性和高效性使其在系统级编程和嵌入式领域仍然广泛应用,而C++则在更广泛的领域如游戏开发、图形界面编程等得到了广泛的应用。 C语言的特点包括: 1. 结构化编程:C语言支持结构化编程,通过函数、循环和选择结构,使程序结构清晰,易于理解和维护。 2. 高级语言与汇编语言的结合:丰富的运算符和位运算使得C语言既具有高级语言的抽象性,又有接近底层的灵活性。 3. 可移植性:C语言编写的程序可以轻松移植到不同平台,只需少量或无需修改。 4. 语法自由度:虽然C语言的语法结构相对宽松,对于经验丰富的程序员,这提供了设计高质量通用程序的可能,但对于初学者来说,调试和学习可能更具挑战性。 这篇教学资料将帮助读者理解C++的起源、C语言的核心特性以及如何利用函数指针实现通用函数调用。通过深入学习,读者可以更好地掌握C/C++编程,并利用其强大的功能来解决各种问题。