c语言全局变量和局部变量区别
首先要理解什么是全局变量和局部变量,然后再理解如何使用全局变量和局部变量。 一、什么是全局变量和局部变量
全局变量:全局变量是指可以定义在文件或目录中的所有变量。如果想知道程序中所有的局部变量和全局变量,就需要定义一个目录,把每个局部变量都放进去,这样就能查看所有局部变量了。但在不同的程序中,不能在同一个目录下定义相同名字的变量,因为同名的变量会覆盖另外一个变量。但如果两个同名的变量没有被覆盖,那这两个变量就不会互相干扰。 局部变量:局部变量是只存储在内存中的变量,一般只存储一个数据项,不占用整个内存。它们仅仅是一些信息,在函数或过程调用时提供给该函数或过程,不包含任何实际数据。
1、与局部变量相比全局变量的修改仅影响到程序中的一处,而且还可能不被发现,所以尽量少用或不用全局变量,只要少量地用一些即可。例如一些外部数据,在函数中参数传递、返回值传递等场合下应该用全局变量。
2、在使用全局变量时要考虑它对整个程序的影响,如果在一个函数中使用了全局变量,在返回时,有可能改变全局变量的值;此外在多个函数中,不能在同一个目录下使用相同的全局变量,否则可能导致程序混乱,错误增加。 二、使用全局变量的原则
3、在声明全局变量之前必须确保其他类也已经声明过全局变量。即,如果在定义变量时,所在的类声明了一个全局变量,那在定义类的其他成员时也必须声明相应的全局变量。如果要定义一个带有两个头文件的程序,必须指定两个文件,第一个文件只定义一个头文件,第二个文件定义一个头文件和一个尾文件,将第二个文件的定义放在第一个文件的后面,以便在运行时将两个文件统一。在同一个头文件中声明的全局变量,在不同的头文件中可以有不同的值,即可以同名,但不能同值。所以必须在定义该全局变量的头文件中使用变量的定义,然后再声明其他的头文c语言和c++区别件。 4、如果在定义一个全局变量后,又声明了它的子类,那么在子类中就不允许再定义该全局变量。 5、对于同一个类的成员来说,一般不能跨类型使用全局变量,但当使用的是静态的全局变量时,不受此限制。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论