精华内容
下载资源
问答
  • 普通全局变量
    2020-03-24 21:15:15

    普通局部变量:
    存在栈区、不初始化内容随机、只在定义所在的复合语句中有效、符合语句结束变量空间释放

    普通全局变量:
    存在全局区、不初始化内容为0、进程结束空间才被释放,能被当前源⽂件或其他源⽂件使⽤,只是其他源⽂件使⽤的时候,记得使⽤extern修饰

    静态局部变量:
    存在全局区、不初始化内容为0、整个进程结束空间才被释放,只能在定义所在的复合语句中有效

    静态全局变量:
    存在全局区、不初始化内容为0、整个进程结束空间才被释放,只能被当前源⽂件使⽤

    更多相关内容
  • (1)static全局变量普通全局变量有什么区别?(2)static局部变量和普通局部变量有什么区别?(3)static函数与普通函数作用域有什么不同?(4)static函数与普通函数有什么区别? (1)static全局变量普通全局变量有...
  • 普通局部变量和static局部变量: 1、 ① static局部变量在编译阶段就已经分配内存空间了,也就是函数没有调用前它就已经存在了。 ② 普通局部变量只有运行到定义该变量的时候才会分配内存空间。 2、 ① 当执行完...

    普通局部变量和static局部变量:


    1、
    ① static局部变量在编译阶段就已经分配内存空间了,也就是函数没有调用前它就已经存在了。
    ② 普通局部变量只有运行到定义该变量的时候才会分配内存空间。
     

    2、
    ① 当执行完定义该static局部变量的函数体后,该static变量的内存空间不会被释放,只有程序结束时static变量才会自动释放。
    ② 当执行完定义该普通局部变量的函数体后,该普通局部变量的内存空间就会被释放。
     

    3、
    ① 如果static局部变量不初始化,那么它默认为0。
    ② 如果普通局部变量不初始化,那么它的值为随机数。
     

    4、
    ① static局部变量的初始化语句只会执行一次,下次再运行该初始化语句就不会被初始化,但是它可以被多次赋值。
    ② 每次运行该普通局部变量的定义时该变量都会被初始化。
     

    5、static变量是存放在Data区的,该区只有程序结束时才会被释放。

    为什么static变量只能被常量赋值,而不能被变量赋值?
    例如:
    int a = 10;
    static int b = a;
    这样会报错,变量不能给static变量赋值,因为static变量是存放在Data区,它在程序编译阶段就在Data区了,但是普通变量只有在程序运行到初始化的时候才会被分配内存空间,所以static变量在编译阶段被没有初始化分配内存空间的普通变量赋值是错误的,只能用常量赋值。

     


    普通全局变量:


    1、在函数外面定义的变量为全局变量,任何地方都可以使用全局变量。

    2、在使用全局变量时,如果在前面找不到该全局变量的定义,必须在前面进行声明才可以使用该全局变量,使用extern声明,而且extern声明只针对全局变量,不能使用在局部变量。

    3、如果全局变量不初始化,那么默认赋值为0。

    4、全局变量只能定义一次,但可以声明多次。

    5、全局变量在编译阶段已经分配了内存空间,即函数没有执行前,只有在整个程序结束后才会自动释放内存空间(和static变量类似)。

    6、普通全局变量的定义和声明:
    ① 定义一个全局变量并初始化:
    int num = 100;
    ② 如果要声明一个全局变量,需要加extern:
    extern int num;

     


    static全局变量:


    1、static全局变量和普通全局变量的区别就在于文件作用域的不同,static全局变量只能在定义的文件内使用,其它文件是不能使用的,而普通全局变量在所有文件都能使用,前提是需要声明。

    2、extern关键字只适用于普通全局变量,不能跟static一起使用。

    3、不同文件定义的static全局变量即使名字一样,也是不会有影响的,因为它们是没有关系的。

    展开全文
  • 普通全局变量 存在全局区 不初始化内容为0 整个进程结束空间释放 能被当前源文件或其他源文件使用,其他源文件使用时要加extern 静态局部变量 存在全局区 不初始化内容为0 整个进程结束空间释放 只能在定义所在的...
    项目ValueValueValueValue
    普通局部变量存在栈区不初始化内容随机只在定义的复合语句中有效复合语句结束变量空间释放
    普通全局变量存在全局区不初始化内容为0整个进程结束空间释放能被当前源文件或其他源文件使用,其他源文件使用时要加extern
    静态局部变量存在全局区不初始化内容为0整个进程结束空间释放只能在定义所在的复合语句中有效
    静态全局变量存在全局区不初始化内容为0整个进程结束空间释放只能在当前源文件中使用
    展开全文
  • static全局变量和普通全局变量区别?static局部变量和普通局部变量区别?static函数和普通函数区别 原创Isanti2015 最后发布于2017-08-21 20:05:50 阅读数 1288 收藏 展开 几者的区别从三个方面考虑: 1初始化时间 ...

    static全局变量和普通全局变量区别?static局部变量和普通局部变量区别?static函数和普通函数区别

    原创Isanti2015 最后发布于2017-08-21 20:05:50 阅读数 1288  收藏
    展开
    几者的区别从三个方面考虑: 
    1初始化时间 
    2 作用域 
    3 分配内存空间

    static全局变量和普通全局变量区别:

    区别:

      1.static全局变量编译是初始化,在main()函数之前初始化并且仅初始化一次; 
      2.static全局变量限定了作用范围,仅在定义该变量的源文件中有效,由于静态全局变量的作用域局限于一个源文件内,即文件作用域,只能为该源文件内的函数公用, 因此可以避免在其它源文件中引起错误。全局变量可以跨越多个源文件有效,当然,其他不包含全局变量定义的源文件需要用extern关键字再次声明这个全局变量

    相同点:都是全局作用域,静态存储方式

    static局部变量和普通局部变量区别:

    区别

      1.static局部变量只被初始化一次,自从第一次被初始化直到程序运行结束都一直存在。普通局部变量,只在函数执行期间存在,函数的一次调用执行结束后,变量被撤销,其所占用的内存也被收回。 
      2.静态局部变量在静态存储区分配空间,局部变量在栈里分配空间。

    相同点:两者都只有局部作用域

    static函数和普通函数区别:

    区别

      1.普通函数的定义和声明默认情况下是extern的,但静态函数只是在声明他的文件当中可见,不能被其他文件所用。好处:其他文件中可以定义相同名字的函数,不会发生冲突。 
      2.普通函数在C++类中编译后带一个隐藏的this参数,而static函数不带。

    相同的

    全局变量、静态全局变量以及静态局部变量都会被放在程序的静态数据存储区(全局可见)中,这样可以在下一次调用的时候还可以保持原来的赋值。这一点是它们与堆变量、堆变量的区别。 
    而局部变量在栈里分配空间 
    从以上分析可以看出,把局部变量改变为静态变量后是改变了它的存储方式即改变了它的生存期。把全局变量改变为静态变量后是改变了它的作用域,限制了它的使用范围。因此static这个说明符在不同的地方所起的作用是不同的。应予以注意。

    点赞 4
    ————————————————
    版权声明:本文为CSDN博主「Isanti2015」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/wangbeibei23/article/details/77455807

    展开全文
  • 全局变量的说明之前再冠以static就构成了静态的全局变量。 从存储方式上来说: 非静态全局变量本身就是静态存储方式,静态全局变量当然也是静态存储方式。这两者存储方式上并无不同。 从作用域上来说: 非静态...
  • 全局变量(外部变量)的说明之前再冠以static 就构成了静态的全局变量全局变量本身就是静态存储方式, 静态全局变量当然也是静态存储方式。 这两者在存储方式上并无不同。这两者的区别虽在于非静态全局变量的作用域...
  • C++ 静态全局变量与普通全局变量

    千次阅读 2015-08-07 11:44:28
    一、存储区域: 1、栈:由编译器在需要的时候分配,在不需要的时候自动清除的变量的存储区域。通常存储局部变量,函数参数。 2、堆:由new分配的内存块,需要手动释放。...在C中,全局变量区分初始化的和未初始化的
  • 静态变量和普通全局变量的区别

    千次阅读 2018-05-29 15:02:40
    1 静态全局变量在内存中只存一份,所以当你new出一个新的对象,实例化的同时给这个对象的静态属性传值。2当你再次new出一个新的对象,重新传值,3 这个时候第一个值已经被覆盖了,因为内存中只有这一份值,每个对象...
  • tatic全局变量普通全局变量有什么区别?static局部变量和普通局部变量有什么区别?static函数与普通函数有什么区别? 全局变量(外部变量)的说明之前再冠以static就构成了静态的全局变量全局变量本身就是静态...
  • static全局变量普通全局变量

    万次阅读 多人点赞 2018-03-12 21:58:59
    一、程序的内存分配一个由C/C++编译的程序占用的内存分为以下几个部分:1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等...3、全局区(静态区)(static)— 全局变量和静态变量的存...
  • static全局变量与普通全局变量有什么区别?static局部变量与普通局部变量有什么区别?总结static 的用法! 答:全局变量(外部变量)的说明之前再冠以static就构成了静态的全局变量。全局变量本身就是静态存储方式,...
  • 全局变量本身是静态存储方式,静态全局变量也是静态存储方式。 两者在存储方式上没有不同。 区别在于: 非静态全局变量的作用域是整个源程序,一个非静态的全局变量在各个源文件中都是有效的.静态全局变量限制作用域...
  • 普通全局变量与静态全局变量 在全局变量(外部变量)的说明之前再冠以static就构成了静态的全局变量。 全局变量本身就是静态存储方式, 静态全局变量当然也是静态存储方式。 这两者在存储方式上并无不同。 这两者的...
  • 按存储区域分:全局变量、静态全局变量和静态局部变量都存放在内存的全局数据区,局部变量存放在内存的栈区 按作用域分:   1、全局变量在整个工程文件内都有效; 2、静态全局变量只在定义它的文件内有效; ...
  • Static全局变量普通全局变量有什么区别? 答:  全局变量(外部变量)的说明之前再冠以static就构成了静态的全局变量全局变量本身就是静态存储方式,静态全局变量当然也是静态存储方式。 这两者在存储方式上...
  • 1.static全局变量只初使化一次,防止在其他文件单元中被引用; 2.static局部变量只被初始化一次,下一次依据上一次结果值; 3.static函数在内存中只有一份,普通函数在每个被调用中维持一份拷贝 C语言中讲讲...
  • var的规则是: 使用var声明变量就是内部变量, 否则就是先调用全局变量, 不管多少层函数. this的规则是: method函数里的this永远指向自身, 普通函数的this永远指向DOMWindow. // GodDamnTest1 function Foo() { var a...
  • C语言中static全局变量普通全局变量区别

    万次阅读 多人点赞 2018-12-09 20:54:05
    1. static全局变量普通全局变量有什么区别 ?  全局变量(外部变量)的说明之前再冠以static 就构成了静态的全局变量。  全局变量本身就是静态存储方式, 静态全局变量当然也是静态存储方式。 这两者在存储方式...
  • 菜鸟在线C编译器:1)或2)  1. http://www.compileonline.com/compile_c_online.php  2....amp;type=c ...1.static全局变量只初使化一次,防止在其他文件单元中被引用; 2.static局部变量只被...
  • 按存储区域分:全局变量、静态全局变量和静态局部变量都存放在内存的全局数据区,局部变量存放在内存的栈区 按作用域分: 1、全局变量在整个工程文件内都有效; 2、静态全局变量只在定义它的文件内有效; 3、静态...
  • Static全局变量普通全局变量有什么区别? 答:  全局变量(外部变量)的说明之前再冠以static就构成了静态的全局变量全局变量本身就是静态存储方式,静态全局变量当然也是静态存储方式。 这两者在存储方式上...
  • static全局变量普通全局变量有什么区别?static局部变量和普通局部变量有什么区别?static函数与普通函数有什么区别? 答: 1) 全局变量(外部变量)的说明之前再冠以static 就构成了静态的全局变量全局变量本身...
  • 全局变量是定义在函数外部的,局部变量是定义在函数内部。全局变量与局部变量的生命周期是相同的都是在程序运行就创建,程序退出才销毁。全局变量与局部变量的作用域是相同的都是变量定义开始到文件结束。全局变量与...
  • 1、static全局变量普通全局变量有什么区别?static局部变量和普通局部变量有什么区别?static函数与普通函数有什么区别?  答:全局变量(外部变量)的说明之前再冠以static 就构成了静态的全局变量全局变量...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 258,338
精华内容 103,335
关键字:

普通全局变量