全局变量的缺点是( )。 A. 可以减少变量的个数 B. 过多的全局变量会占用较多的内存单元 C. 破坏了函数的封装性能 D. 使函数的代码可读性降低
缺点:1.容易造成命名冲突 2.当值不正确或者出错时,很难确定是哪个函数更改过这个变量 3.不支持多线程
但是也有它的缺点:自这个程序开始运行起,这个全局变量的空间就被申请,直到整个程序运算结束时,空间才会被释放,若是局部变量(以c语言为例)在一个函数中的变量,在进入这个函数时,该函数中的变量空间被申请,结束函数时,这些变量的空间被释放,有利于提高内存空间的利用率;当全局变量是二维数组或...
优点:内存在程序编译时分配好,内存在程序运行期间保持不变,一直存在,方便访问。比如全局变量,static变量。缺点:大小固定,无法动态改变。全局变量容易被滥用,影响程序的可维护性。样例代码:#include <stdio.h>int globalVariable = 30; // 静态变量在全局数据区分配void staticAllocation() { printf("Static...
缺点: (1)过多的全局变量会占用较多的内存单元:全局变量保存在静态存贮区,程序开始运行时为其分配内存,程序结束释放该内存。与局部变量的动态分配、动态释放相比,生存期比较长,因此过多的全局变量会占用较多的内存单元。 (2)全局变量破坏了函数的封装性能:前面的章节曾经讲过,函数象一个黑匣子,一般是通过函数参数和...
特点:(1)全局变量会默认得到0值(2)任何函数都可以使用全局变量(3)若全局变量与局部变量同名,则在局部变量的作用范围内,同名的全局变量不起作用 优点:函数可以得到多个返回值,借此可以在函数间传递数据 缺点:(1)全局变量在程序的全部执行过程中都占用存储单元(2)降低了函数的通用性(3)降低了程序的清晰性 /* 例...
3. 配置参数:全局变量可以用来存储程序的配置参数或全局状态,方便程序的管理和控制。 4. 减少参数传递:避免频繁传递大量数据作为函数参数,提高代码的可读性和简洁性。 然而,全局变量也存在一些缺点和注意事项: 1. 作用域扩大:全局变量的作用域过大,可能导致意外的数据修改,增加程序的复杂性和调试难度。 2. 命名冲突...
最容易想到的方法是定义为全局的变量,但定义一个全局变量有许多缺点,最明显的缺点是破坏了此变量的访问范围(使得在此函数中定义的变量,不只受此函数控制)。static关键字则可以很好的解决这个问题。 另外,在C++中,需要一个数据对象为整个类而非某个对象服务,同时又力求不破坏类的封装性,即要求此成员隐藏在类的内部...
代码区:就是存放代码的存储区域,它不涉及代码中的变量值。 静态存储区:用来存放全局变量和静态变量。 栈区:存放函数内的局部变量,形参和函数返回值。栈区之中的数据的作用范围过了之后,系统就会回收自动管理栈区的内存(分配内存 , 回收内存),不需要开发人员来手动管理。
一、命名空间缺失 1、两个文件中如果有同一名称的全局变量后,链接会报错。2、include了两个包含相同宏名的头文件时,预处理时会报错。3、当两个.lib库中有相同名称的变量时,链接的时候会选择第一个lib库中的变量。二、宏 我们知道预处理阶段会替换宏,所以预处理器非常简单,根本无法检查宏函数的有效性,所以...