c语言怎样声明和定义全局变量

如题所述

定义在函数体外部的变量叫全局变量,

要定义全局变量你只要把变量定义在

所有函数外部即可。

要注意的是,全局变量只对它定义位

置以下的函数可见。

#include<stdio.h> 

void f1();
void f2();
int y=100;
int main()
{

printf("%d\n\n",y);
//printf("%d\n",x);这不可以读x,x对main()不可见 
f1();
f2();
return 0;

}

int x;
void f1()
{
x=200;


void f2()
{
printf("%d\n",x);
printf("%d\n",y);
}

温馨提示:内容为网友见解,仅供参考
第1个回答  2017-02-08
1、全局变量的定义和普通变量的定义相同,只是在别的cpp文件中使用前需要用extern修饰符声明。2、extern可置于变量或者函数前,以表示变量或者函数的定义在别的文件中,提示编译器遇到此变量或函数时,在其它模块中寻找其定义。另外,extern也可用来进行链接指定。
第2个回答  2011-11-23
extern是声明
只有涉及多个文件的全局变量才需要使用extern
比如,当文件a,b都需要访问一个全局变量val时,就要在文件a,b中声明如下
extern int val;

如果只是在同一文件中使用这个全局变量就不需要extern了。
第3个回答  2011-11-17
对,必须用extern声明,因为要涉及多个文件,不用extern的话会导致编译链接出现问题。不过不建议用全局变量,面向对象要求低耦合
第4个回答  2011-11-19
如果要是你只编写一个C文件的话,全局变量在main 函数和其他定义的函数之外定义就行啦;
但如果涉及到两个或者两个以上的C文件,定义全局变量要用到extern

C语言中如何定义全局变量
1、首先,我们可以在函数外面定义变量,就是全局变量。2、局部变量可以与全局变量同样命名。3、但是优先级是局部变量优先。4、但是局部变量的生命周期是整个结构内。5、全局变量是整个程序结束,才释放。6、我们也可以为变量加上修饰符。

c语言如何声明全局变量?
在C语言中,全局变量和函数声明及定义并列,也就是说,声明在最外层作用域的变量即为全局变 如在如下程序中 int i;int main(){int i_copy = i;i = 9;return 0;} int i就是一个全局变量,故在main函数中可以调用或修改i的值 所以,定义数组也和普通全局变量的方法相同,如 char str[10];...

C语言怎么定义全局变量
1、记住一条就够了:在函数之外定义的变量就是全局变量。用static修饰的变量可以是全局的,也可以是局部的,所以说“用static修饰的变量是全局变量”是错误的。用static修饰的变量的生命周期与全局变量一样,但可见性仍分全局和局部。2、全局变量在整个c文件中都能使用,而局部变量在其作用域内才能使用...

C语言怎样定义和声明全局变量和函数最好?
首先, 尽管一个全局变量或函数可以(在多个编译单元中) 有多处“声明”, 但是“定义” 却只能允许出现一次。定义是分配空间并赋初值(如果有) 的声明。最好的安排是在某个相关的.c 文件中定义, 然后在头文件(.h) 中进行外部声明, 在需要使用的时候, 只要包含对应的头文件即可。定义变量的.c 文件...

c语言定义全局变量的方法
\/\/TODO:} float x,y; \/\/全局变量 int func2( ){ \/\/TODO:} int main( ){ \/\/TODO:return 0;} a、b、x、y 都是在函数外部定义的全局变量。C语言代码是从前往后依次执行的,由于 x、y 定义在函数 func1() 之后,所以在 func1() 内无效;而 a、b 定义在源程序的开头,所以在 func...

c语言,如何定义数组为全局变量?
在C语言中,全局变量和函数声明及定义并列,也就是说,声明在最外层作用域的变量即为全局变量 如在如下程序中 int i;int main(){ int i_copy = i;i = 9;return 0;} int i就是一个全局变量,故在main函数中可以调用或修改i的值 所以,定义数组也和普通全局变量的方法相同,如 char str[10...

ccs中,如何定义全局变量?
和c语言中定义全局变量一样。步骤如下:step 1: 在.c中定义要用到的变量比如:int a;step 2: 然后声明一个.h文件,在.h中声明:extern int a;step 3: 其他地方如果要用a的话,那么只要把头文件包含进去就可以了。注意:这个时候就不能再定义a的全局变量了,因为EXTERN已经把a在...

C语言中怎样在头文件中定义一个能够在所有文件中都可以使用的全局数组...
C语言可以通过在.c文件中定义,头文件中extern的方式实现一个能够在所有文件中都可以使用的全局数组变量。具体做法如下:设有一个多项目文件有 1.c、2.c和3.c三个源程序文件;如果有一个全局数组需要所有文件使用,那么可以添加一个data.c文件,在其中添加全局数组的定义;向项目中添加data.h文件,在...

C语言变量的定义与使用
C语言的基本功能单元是函数。在函数内部定义的变量是局部变量,仅能在函数内部使用。函数可以组成程序的功能模块,而这些函数头文件中定义的静态变量(局部变量)可以被模块内的所有函数访问。若在模块内部声明变量并在头文件中导出,该变量类型则为全局变量,可在整个工程中被所有函数访问。3. 合理分配RAM...

C语言头文件定义全局变量问题
正确的作法是在c源文件中定义一个全局变量。在头文件中加入全局变量的声明。比如 \/\/var.c 一个主要用于定义全局变量的c源文件int g_a;char g_x;\/\/var.h 用于声明定义的全局变量extern int g_a;extern char g_x; \/\/test.c 一个用于测试的头文件#include void f(){ g_a = 1; ...

相似回答