C语言程序设计:函数指针调用

需积分: 50 2 下载量 88 浏览量 更新于2024-07-14 收藏 2.75MB PPT 举报
"C语言程序设计课程的相关课件,涵盖了C语言的基础知识,包括函数指针的使用、C语言的发展历程、特点以及程序结构。" 在C语言中,函数指针是一个非常重要的概念,它允许我们用指针来调用函数,从而实现更加灵活的程序设计。在提供的示例中,有两个`main()`函数,分别展示了两种不同的方式来调用`max()`函数,该函数用于计算两个数中的较大值。 第一种方法直接调用`max(a, b)`,其中`max`是一个函数名,`a`和`b`是传递给函数的参数。这种方式简单明了,但没有体现出函数指针的灵活性。 第二种方法引入了函数指针变量`p`。首先,`p`被赋值为`max`函数的地址,然后通过`(*p)(a, b)`来调用`max`函数。这里的`*p`表示通过指针`p`来调用函数,而`()`内的`a, b`是传递给`max`函数的参数。这种用法展示了函数指针的动态特性,可以用于回调函数、函数数组或者在运行时决定调用哪个函数的情况。 C语言的发展历程始于早期的高级语言,如FORTRAN、ALGOL60和BASIC,逐渐演变为更强大且具有结构化编程特性的语言,例如PASCAL。C语言在1972年至1973年由Dennis Ritchie开发,它的特点是: 1. **简洁紧凑**:C语言的语法简单,代码量小,易于理解和编写。 2. **灵活性**:C语言的编程限制较少,允许程序员自由发挥。 3. **直接硬件访问**:C语言允许直接操作内存地址,进行位操作,这在系统编程中尤其有用。 4. **丰富的数据类型**:包括整型、浮点型、字符型、数组、指针、结构体和共用体等。 5. **结构化控制语句**:支持if-else、switch-case、for、while等结构,使得程序结构清晰。 6. **高效的生成代码**:C语言编译后的程序运行速度快,因为编译器可以直接生成接近机器码的指令。 7. **良好的可移植性**:C语言的标准库和语法相对独立于特定硬件,使得程序可以在不同平台上移植。 C语言的程序通常由`main()`函数开始,这是程序执行的入口点。示例中的`main()`函数包含了简单的输出语句,展示了如何打印字符串。在注释中还给出了一个计算两数之和的例子,展示了变量声明、赋值和输出的基本操作。 在学习C语言的过程中,掌握函数指针的使用是至关重要的,因为它能帮助理解函数作为值的概念,并在实际编程中实现更加复杂的功能。同时,了解C语言的历史和发展特点,有助于深入理解其设计哲学和在现代编程中的地位。