C语言:静态外部变量与历史背景

需积分: 0 1 下载量 91 浏览量 更新于2024-08-25 收藏 7.98MB PPT 举报
本资源主要讨论的是C语言中的静态变量声明及其在程序设计中的应用。"用static声明外部变量"这一章节关注的是如何限制外部变量的访问范围,确保它们不会被其他文件意外地修改。在C语言中,外部变量通常可以在函数之间共享,但如果希望某个变量仅在特定文件内可见,且不允许跨文件访问,就可以使用关键字`static`来声明。 在C语言中,`static`关键字的作用主要有两个:一是创建静态局部变量,这些变量在其所在的作用域(如函数内部)中生命周期保持,每次函数调用时都会初始化;二是声明静态外部变量,这类变量在整个程序范围内可见,但在每个源文件中都是独立的副本,这意味着对一个文件内的静态外部变量的修改不会影响到其他文件的实例。 例如,在给出的代码片段中,`file1.c`中的`static int A;`声明了一个静态全局变量A,当在`file2.c`中通过`extern int A;`引入这个变量时,实际上是声明一个引用,告诉编译器A已经在其他地方定义过。然而,`fun`函数中的`A=A*n;`操作只会作用于`file1.c`中的静态变量A,不会影响到`file2.c`中可能存在的另一个静态A变量。 此外,章节还回顾了C语言的历史背景,包括它的发展过程,从B语言(BCPL)作为基础,D.M.Ritchie的贡献以及C语言如何随着UNIX系统的推广而流行起来。C语言标准的发展也经历了多个阶段,从早期的B语言到ANSI C,再到ISO C标准的建立,这些标准的变迁反映了C语言的成熟度和适用性。最后,作者提醒读者注意不同C语言编译器之间的细微差别,确保理解和使用的是与其特定版本兼容的C语言特性。