首页 > 试题广场 >

假设某C工程包含a.c和b.c两个文件,在a.c中定义了一个

[单选题]
假设某C工程包含a.c和b.c两个文件,在a.c中定义了一个全局变量foo, 在b.c中想访问这一变量时该怎么做?
  • 在b.c中同样定义同名的foo
  • a.c中声明时extern int foo
  • b.c中声明时extern int foo
  • 在一个工程中就可以访问到,不用做任何操作
推荐
C
extern可置于变量或者函数前,以表示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。另外,extern也可用来进行链接指定。
编辑于 2015-02-02 22:07:30 回复(0)
编译器视角:extern用于告诉编译器,这个变量是其他文件中定义的,是我要引用的一个来自外部的变量。请去其他源文件中寻找。
发表于 2019-01-28 14:08:48 回复(0)
extern声明多文件共享变量的方法总结一下: 1.在一个源文件中定义,在其他需要使用的源文件中用extern声明。(仅一处定义,多处extern) 2.在一个源文件中定义,在其对应的头文件中extern声明,在其他需要使用该共享变量的源文件中包含该头文件即可。(更加标准的做法) 本题考察的是第一种做法。
发表于 2016-10-02 13:46:19 回复(2)
对于普通的全局变量,工程中的其他文件extetrn申明即可;
对于const全局变量,工程中的其他文件extern申明,同时,本文件中const前面也得加extern申明
发表于 2017-07-19 14:43:27 回复(0)
定义和声明不同    int a;是定义加声明      extern int a;仅仅是声明
发表于 2019-09-04 16:21:58 回复(0)
extern声明多文件共享变量:
1.在一个源文件定义,在其他需要使用该变量的源文件中使用extern声明,(一处定义,多处extern);
2.在一个源文件定义,在其对应的头文件中extern声明,在其他需要使用该变量的源文件中包含头文件即可。
发表于 2018-06-18 15:03:19 回复(0)
在c中不声明也可以,在c++中必须声明,题目不太严谨了,我看到是c工程把选项又该到的d
发表于 2017-09-09 18:53:30 回复(0)
extern可置于变量或者函数前,以表示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。
发表于 2016-04-25 20:33:07 回复(0)
选择C
extern声明变量为外部已经定义过的变量,或声明函数是已在别的位置上定义过的函数
发表于 2016-01-08 21:04:24 回复(0)
//  A.c
#include <stdio.h> 
extern int x=3;//int x=3;
//main.c
#include <stdio.h>
#include "A.c"
int main()
{
//extern int x;  
printf("%d\n", x);return 0;
}//为什么我测试的俩种都可以 ,求解答
编辑于 2015-12-08 12:00:53 回复(4)
C

extern表示declaration。linker负责去找。 (注:function 是默认extern的

发表于 2015-09-09 23:40:00 回复(0)