首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用extern变量与不使用extern变量的区别

使用extern变量与不使用extern变量的区别
EN

Stack Overflow用户
提问于 2018-06-15 02:37:09
回答 1查看 166关注 0票数 0

对于使用"extern“关键字的变量定义和声明,我有点困惑。假设我想要一个变量'timer‘可以在多个c文件中使用。然后我可以:

关于c1.h

代码语言:javascript
复制
int timer;

然后在c1.c上

代码语言:javascript
复制
#include "c1.h"
void timer_increase() {
    timer++
}

然后在c2.c上

代码语言:javascript
复制
#include "c1.h"
void print_timer() {
    printf("%d", timer);
}

但是,当我使用extern变量时:

关于c1.h

代码语言:javascript
复制
extern int timer;

然后在c1.c上

代码语言:javascript
复制
#include "c1.h"
int timer;
void timer_increase() {
    timer++
}

然后在c2.c上

代码语言:javascript
复制
#include "c1.h"
void print_timer() {
    printf("%d", timer);
}

这两个脚本都正常工作,我看不出有什么理由必须使用extern来声明变量。有人能给我任何提示吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-15 02:48:59

您必须定义变量一次,并在标头中声明它,以便其他文件对变量具有可见性。

当在头文件中不使用extern时,每次在多个文件中定义相同的变量时。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50868416

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档