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

需积分: 10 13 下载量 156 浏览量 更新于2024-08-18 收藏 8.66MB PPT 举报
"谭浩强的经典C++课件,讲解了内部函数和外部函数的概念,以及C++程序设计的基本知识,包括C++的发展历史、特点等。" 在C++编程中,函数是组织代码的重要方式,它们可以分为内部函数(静态函数)和外部函数。内部函数,也就是静态函数,是通过`static`关键字定义的。这样的函数有以下特点: 1. **作用域限制**:内部函数的作用域仅限于定义它的源文件中,其他文件无法直接访问和调用。这种特性使得静态函数在实现模块化和封装时非常有用,可以避免不必要的外部干扰。 2. **内存管理**:静态函数的变量在函数调用之间保持其值,因为它们存储在静态存储区,而不是在栈上分配。 3. **链接性质**:由于它们不是全局可见的,编译器不会为静态函数生成外部符号,因此在链接阶段不会与其他文件中的同名函数冲突。 外部函数是C++中的默认函数类型,它们可以被其他文件调用。外部函数的声明通常用`extern`关键字,以告知编译器这个函数是在其他地方定义的。例如,`extern`关键字用于在需要使用外部函数的文件中引入函数声明,确保编译器知道该函数的存在。 ```cpp // 在另一个文件中定义的外部函数 void enter_string(char* str); // 在当前文件中使用外部函数 extern void enter_string(char* str); ``` 外部函数具有以下特点: 1. **全局可见性**:外部函数可以在程序的任何地方被调用,只要正确地包含了函数声明。 2. **链接需求**:如果在多个文件中定义相同的外部函数,链接器会检查这些函数的定义是否一致,如果不一致,会产生链接错误。 3. **作用域广泛**:外部函数可以跨越多个源文件,方便实现大型项目中的功能共享和模块化。 C++语言本身具有丰富的特性,如C语言的高效和灵活性,以及面向对象编程的支持。C++的起源可以追溯到C语言,由B语言发展而来,最初是为了编写UNIX操作系统。C++在C的基础上增加了类、模板、异常处理等概念,使其成为一个强大的、通用的编程语言。 C++的主要特点包括: 1. **结构化编程**:C++支持结构化编程,使代码易于理解和维护,同时提供灵活的控制结构。 2. **混合级别编程**:它允许低级编程(如内存管理和位操作)与高级编程(如抽象和面向对象)相结合,提高了程序的效率和灵活性。 3. **可移植性**:C++编写的程序可以在不同的计算机平台和硬件上轻松移植,只需极少或无需修改。 4. **语法灵活性**:虽然这为程序员提供了极大的自由度,但也可能导致对语法理解不足的初学者遇到挑战,特别是在调试和错误排查方面。 学习C++需要对语法规则有深入的理解,虽然调试可能较为复杂,但一旦掌握,就能编写出高效、可维护的代码。