C语言extern声明外部变量详解
需积分: 9 96 浏览量
更新于2024-08-24
收藏 5.65MB PPT 举报
"本资源是关于C语言的教程,特别是讲解了如何使用extern声明外部变量。C语言是一种广泛使用的高级编程语言,起源于贝尔实验室的B语言,经过D.M.Ritchie的改进后用于开发UNIX操作系统。随着UNIX的普及,C语言也逐渐流行并标准化,先是ANSI C,然后是ISO C。学习C语言需要了解其特点、程序结构以及在不同编译系统中的差异。在C语言中,外部变量是全局变量的一种,作用域覆盖整个源文件,而extern关键字用来在其他文件中声明一个已在其他地方定义的外部变量,以便扩展其作用域。"
C语言是计算机科学中的基础语言,它具有简洁、高效和接近硬件的特点。C语言的起源可以追溯到1970年代,由B语言发展而来,最初用于编写UNIX操作系统。随着1978年《The C Programming Language》的出版,C语言开始广泛传播,其标准也在不断演进,如1983年的ANSI C,1990年的ISO C标准(ISO 9899—1990),以及后续的修订。
在C语言中,变量分为局部变量和全局变量。全局变量是在函数外部定义的,它们在整个源文件中都可见,作用域从定义位置开始直到文件结束。外部变量存储在静态存储区,其生命周期贯穿整个程序执行过程。如果要在其他源文件中使用一个已经在一个文件中定义的全局变量,就需要使用extern关键字来声明该变量,这使得外部变量可以在多个文件之间共享,但不分配额外的存储空间。
例如,在一个源文件中,我们可能有如下定义:
```c
// file1.c
int global_var = 10; // 全局变量定义
void function_in_file1() {
// ...
}
```
然后在另一个源文件中,我们需要访问这个全局变量:
```c
// file2.c
extern int global_var; // 使用extern声明全局变量
void function_in_file2() {
printf("Value of global_var is %d\n", global_var);
}
```
在这个例子中,`extern int global_var;` 声明了`global_var`的存在,使得`file2.c`知道这个变量,但不会重新分配内存。编译时,链接器会确保所有对`global_var`的引用指向同一个内存地址。
不同的C编译器可能有一些特定的实现或扩展,因此了解所使用的编译器特性是很重要的。在学习C语言的过程中,通常会以一个特定的标准(如ANSI C或ISO C)作为基础,同时参考编译器的文档以理解任何可能的差异。
C语言是一种强大的编程工具,extern关键字则是其重要组成部分,允许程序员在多个文件间共享和管理全局变量。掌握C语言和extern的使用,对于理解和编写高效、可维护的程序至关重要。
2010-09-10 上传
2015-09-05 上传
2021-10-06 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
杜浩明
- 粉丝: 15
- 资源: 2万+
最新资源
- Angular实现MarcHayek简历展示应用教程
- Crossbow Spot最新更新 - 获取Chrome扩展新闻
- 量子管道网络优化与Python实现
- Debian系统中APT缓存维护工具的使用方法与实践
- Python模块AccessControl的Windows64位安装文件介绍
- 掌握最新*** Fisher资讯,使用Google Chrome扩展
- Ember应用程序开发流程与环境配置指南
- EZPCOpenSDK_v5.1.2_build***版本更新详情
- Postcode-Finder:利用JavaScript和Google Geocode API实现
- AWS商业交易监控器:航线行为分析与营销策略制定
- AccessControl-4.0b6压缩包详细使用教程
- Python编程实践与技巧汇总
- 使用Sikuli和Python打造颜色求解器项目
- .Net基础视频教程:掌握GDI绘图技术
- 深入理解数据结构与JavaScript实践项目
- 双子座在线裁判系统:提高编程竞赛效率