
理解C语言extern声明外部变量
下载需积分: 0 | 7.97MB |
更新于2024-08-24
| 27 浏览量 | 举报
收藏
"用extern声明外部变量-C语言谭浩强-适合入门学习"
在C语言中,外部变量(也称为全局变量)是指在函数外部定义的变量,这些变量在整个源文件的作用域内都有效,从定义它们的位置开始直到文件结束。由于它们的作用域广泛,所以可以在文件内的任何函数中被引用,这使得外部变量成为了在多个函数之间共享数据的有效手段。但是,当一个源文件中的外部变量需要在其他源文件中被引用时,就需要用到`extern`关键字。
`extern`声明的主要目的是扩展外部变量的作用域,使得在当前源文件中能够访问到在其他文件中定义的外部变量。这样做是因为C语言的编译过程是逐个文件进行的,每个文件只知道自己内部的变量和函数,而不了解其他文件的内容。如果在文件A中定义了一个外部变量,然后在文件B中想要使用这个变量,就需要在文件B中使用`extern`声明该变量,告诉编译器这个变量是在其他地方定义的。
例如,假设我们有以下两个源文件:
1. `file1.c`:
```c
int global_var = 10; // 全局变量定义
```
2. `file2.c`:
```c
#include <stdio.h>
// 在这里声明外部变量
extern int global_var;
int main() {
printf("Value of global_var: %d\n", global_var);
return 0;
}
```
在`file2.c`中,`extern int global_var;`这一行就是使用`extern`声明了`global_var`,这样编译器就知道了`global_var`虽然没有在这个文件中定义,但在链接阶段会从其他文件(这里是`file1.c`)找到它。
C语言的特点包括简洁性、高效性和可移植性,这使得它成为开发操作系统、嵌入式系统以及各种软件的首选语言之一。它的程序结构通常包含预处理指令、函数定义和函数调用,而变量则根据其作用范围分为局部变量(仅在函数内部有效)和外部变量(在整个源文件或项目中有效)。
在计算机上运行C程序通常需要经过编译、链接等步骤。编译器将源代码转换成目标代码(.o文件),然后链接器将所有目标代码合并,解决符号引用,最终生成可执行文件。不同的C编译器可能会实现一些特定的功能和语法,因此了解所使用的编译器的特点是很重要的。
C语言的历史可以追溯到20世纪70年代,由Dennis Ritchie在B语言的基础上创建,主要用于开发UNIX操作系统。随着版本的迭代和标准的制定,如ANSI C和ISO C,C语言逐渐演变为一种国际标准,并广泛应用于各种计算机系统。至今,C语言仍然是编程教育和实际开发中的重要工具。
相关推荐






















Happy破鞋
- 粉丝: 21
最新资源
- 仿美团PC端Web开发实践:Vue框架应用
- 探索Andriy1991.github.io的HTML技术实现
- OpenWrt x86_64自动编译固件详解
- Web代理技术:实现高效网络缓存的关键
- 公司年终JS+HTML抽奖程序:快速随机与自动模式
- Java技术分享与交流平台TechGig
- Python数据定价模块的深入分析与应用
- 本地文件搜索工具的开发与应用
- jpegsrc.v9b.tar.gz:JPEG库的新版本发布
- CodeSandbox上实现neogcamp-markNine标记九分法
- 深入探索GitHub的InnerSource开源模型
- 掌握机器学习:Jupyter Notebook中的决策树算法
- 深入解析HTML在github.io的应用与实践
- 深入解析hannahtobiason.github.io中的CSS技术应用
- rsschool-cv:创意履历表模板设计
- TSQL查询技术:mssql-queries存储库解析
- Kotlin开发应用adfmp1h21-pet界面截图教程
- 2021数据三项全能赛事解析与Jupyter Notebook应用
- Java语言环境下的tejun仓库创建详细步骤
- 4-mergaite:HTML文件压缩技术的最新进展
- Navicat12数据库管理工具压缩包发布
- 掌握JavaScript构建全栈应用的精髓
- C语言实现HFizzBuzz算法分析
- 探索DIDIC技术的核心优势与应用