C++程序设计:内部函数与外部函数解析

需积分: 3 2 下载量 143 浏览量 更新于2024-08-24 收藏 8.66MB PPT 举报
"内部函数和外部函数-C++程序设计 谭浩强完整版" 在C++编程中,函数是组织代码的基本单元,它们可以独立执行特定任务并可以在程序的其他部分被调用。函数分为两种主要类型:内部函数(静态函数)和外部函数。 内部函数,或称为静态函数,是通过在函数声明前添加`static`关键字定义的。这种类型的函数限制了它的作用域,使其仅在当前源文件(编译单元)内可见和可用。这意味着其他源文件无法直接调用内部函数,除非通过某种间接方式(如全局变量)。静态函数的一个常见用途是在实现模块化代码时保持函数的私有性,避免不必要的外部访问。 例如: ```cpp // 在一个.c或.cpp文件中 static float fac(int n) { // 函数体 } ``` 在这个例子中,`fac`函数是一个内部函数,只能在这个文件中被其他函数调用。 外部函数是C++中的默认函数类型,如果没有使用`static`关键字声明,则函数默认为外部函数。外部函数可以在程序的任何地方被调用,只要正确地包含了相应的头文件或者在调用前使用`extern`关键字进行声明。这种灵活性使得外部函数成为实现跨文件交互的重要手段。 例如: ```cpp // 在一个头文件(如.h)中 extern void enter_string(char* str); // 在另一个.c或.cpp文件中实现 void enter_string(char* str) { // 函数体 } // 在主程序中调用 int main() { char str[80]; extern void enter_string(); // 声明外部函数 enter_string(str); // ... } ``` 在这个例子中,`enter_string`函数是外部函数,因此可以在`main`函数所在的文件中调用,只要正确地引入了声明。 C++语言的发展历史可以从早期的BCPL和B语言开始追溯。C语言在20世纪70年代由Dennis Ritchie和Brian Kernighan开发,起初用于编写UNIX操作系统。C++是由Bjarne Stroustrup在C语言的基础上扩展而来的,增加了面向对象编程特性,如类、继承、多态和模板等。C++的出现使得程序设计更加高效和灵活,同时保持了C语言的性能优势和代码可移植性。 C语言的特点包括其结构化编程能力、高效的汇编语言特征(如丰富的运算符和位运算)、良好的可移植性和相对宽松的语法结构。虽然这允许程序员有更大的自由度,但也可能导致初学者在理解和调试程序时遇到挑战。然而,对于熟练的C++程序员来说,这些特性使得C++成为了一个强大的工具,能够编写出高效且可维护的代码。