外部变量如何声明,怎么定义外部变量
全局变量和局部变量!变量定义的范围可以确定在哪个程序组织单元中是允许被调用的,从范围上来分可分为全局或局部。每个变量的范围由它被声明的位置和声明所使用的变量关键字所定义,全局变量:在程序组织单元之外定义的变量称为外部变量,外部变量是全局变量,全局变量可以为本文件中其他程序组织单元所共用,全部程序可共享同一数据,它甚至能与其他网络进行数据交换。
1、关于C语言中extern声明外部变量的问题!几个文件组成一个总的程序,他们中间只能有一个main(),其它是函数和子程序,也许有一两个头文件。当头文件内容有冲突时,应当用宏语句控制插入了哪个则不插入那个。函数名和变量名有冲突时,也要用宏语句控制:“如果没有定义A则定义A为什么”。externA可以有很多很多个,但全局量A的声明只能有一个。重复定义(声明)A,编译时会有警告信息。
2、c++中用extern声明外部变量时能不能给变量赋初值不能extern只是增加了一个外部引用符号只有具体定义变量的位置才能够赋初值。肯定不可以的啊,声明的目的是告诉编译器变量或函数的类型,暗示在某处会有他的正确定义。准确说起来,变量与函数是相同的,都分为声明和定义,即在前面加上extern,只不过出于简单的目的,函数的声明省略了extern关键字,函数不能再声明(除非是定义)处定义函数体。
3、C语言关于外部变量对,第一行是定义,可以放在其他的源文件里。第二行是声名(外部连接),告诉编译器,你要使用这个变量,叫它去寻找。当然找不到就会出错。如果源文件中的变量不想被其他的文件使用,可以声明为statictypevar(内部连接),这样这个变量就只能在当前文件中被访问。不用纠缠于这些,知道怎么用就行了。一般不把这两句放在同一个源文件里。
在文件a.c中定义一个USERlogin_user;但是在文件b.c中要用到这个全局变量,就采用声明的方法,externUSERlogin_user;来告诉编译器,我需要用一个变量login_user;但是这个变量已经在别的文件中定义了就这个意思。声明和变量定义的关系一般在函数调用里面intfunc1(inta,intb){......}intfunc2(......){......intx1;inty2func(x。