动态变量和静态变量的区别

动态变量和静态变量的区别:

1、存储位置

动态变量:存储在内存出栈数据区

静态变量:存储在全局数据区(静态数据区)

2、生命期

动态变量:根据你定义的位置确定,比如你在一个函数中定义的,那么超出该函数范围变量将失效

静态变量:程序结束时才释放

3、作用域

动态变量:同样的要根据你定义的位置才能确定,和第二点的一样

静态变量:当前文件中有效

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-08-08 15:12:33

动态变量和静态变量的区别的相关文章

比较全局变量、全局静态变量、局部变量、局部静态变量的区别

比较全局变量.全局静态变量.局部变量.局部静态变量的区别,他们在编译完后存储位置在什么地方.初始化值在什么地方.内存什么时候分配.赋初值对这些变量有哪些影响等.要弄清楚这些问题,首先要弄清楚下面几个知识点. C语言分下面几个存储区: 1.栈区(stack) 由编译器在需要的时候自动分配释放,在不需要的时候就自动清除的变量存储区.通常存放的变量是函数的参数值.局部变量的值等,其操作方式类似于数据结构中的栈. 2.堆区(heap) 一般由程序员去分配释放,和编译器完全没有关系,直接由我们的应用程序去

Java基础——成员变量、局部变量和静态变量的区别

之前在刚开始学习Java的时候,就谈了谈Java基础中的变量,虽然知道这货以后会经常用到,但没想到了基本语法这里,竟然有冒出来了成员变量.局部变量和静态变量.变来变去太容易让人搞晕了,挑拣出来梳理一下喽! 要想区分这哥仨,首先,我们得知道它们分别是什么.先从成员变量下刀. 成员变量 我们来研究一个事物: 属性:外在特征:例如人的身高,体重 行为:能够做什么:例如人有说话,打球等行为. 而在Java语言中,最基本的单位是类,类就是用来体现事物的. 用类class来描述事物也是如此: 属性:对应类中

全局变量和全局静态变量的区别

全局变量与全局静态变量的区别: (a)若程序由一个源文件构成时,全局变量与全局静态变量没有区别. (b)若程序由多个源文件构成时,全局变量与全局静态变量不同:全局静态变量使得该变量成为定义该变量的源文件所独享    即:全局静态变量对组成该程序的其它源文件是无效的. 静态全局变量的作用: (a)不必担心其它源文件使用相同变量名,彼此相互独立. (b)在某源文件中定义的静态全局变量不能被其他源文件使用或修改. ---------------我的七夕面试题 全局变量和全局静态变量的区别,布布扣,bu

全局变量和静态变量的区别

全局变量具有外部连接性,即同一工程中其它文件中的也可引用. 而静态变量不具有外部连接性,即同一工程中其它文件中不可以引用. 如: //cpp1.cpp extern int x=10; static int y=5; //cpp2.cpp #include <iostream.h> void main() { extern int x; extern int y; cout<<x<<endl; cout<<y<<endl; } 将这两个文件放在同

全局变量与全局静态变量的区别

全局变量与全局静态变量的区别: (a)若程序由一个源文件构成时,全局变量与全局静态变量没有区别. (b)若程序由多个源文件构成时,全局变量与全局静态变量不同:全局静态变量使得该变量成为定义该变量的源文件所独享,即:全局静态变量对组成该程序的其它源文件是无效的. (c)具有外部链接的静态:可以在所有源文件里调用:除了本文件,其他文件可以通过extern的方式引用: 静态全局变量的作用: (a)不必担心其它源文件使用相同变量名,彼此相互独立. (b)在某源文件中定义的静态全局变量不能被其他源文件使用

成员变量和局部变量,静态变量的区别

成员变量和局部变量,静态变量的区别 1.成员变量和局部变量的区别 1)在类中的位置不同 成员变量:在类中方法外 局部变量:在方法定义中或者方法声明上 2)在内存中的位置不同 成员变量:在堆内存(成员变量属于对象,对象进堆内存) 局部变量:在栈内存(局部变量属于方法,方法进栈内存) 3)生命周期不同 成员变量:随着对象的创建而存在,随着对象的消失而消失 局部变量:随着方法的调用而存在,随着方法的调用完毕而消失 4)初始化值不同 成员变量:有默认初始化值 局部变量:没有默认初始化值,必须定义,赋值,

关于静态变量和非静态变量的区别

关于静态变量和非静态变量的区别 静态变量:被static修饰的变量,加载类的时候被创建,不随对象的创建而改变,静态变量位于方法区,类消失对应的变量消失. 非静态变量:不被static修饰的变量,每创建一次对象,就会为变量分配一次内存,存放在堆内存中,对象消失对应的变量消失. JAVA中初始化的顺序: 加载类: 静态变量初始化 静态代码块:[其只能调度静态的,不能调度非静态的] 成员变量 构造代码块 构造方法 普通代码块 原文地址:https://www.cnblogs.com/wangwswan

c#静态变量和非静态变量的区别

静态变量的类型说明符是static.静态变量当然是属于静态存储方式,但是属于静态存储方式的量不一定就是静态变量,例如外部变量虽属于静态存储方式,但不一定是静态变量,必须由 static加以定义后才能成为静态外部变量,或称静态全局变量. 详解: 一,静态资源在首次访问时会调用静态构造器创建类类型对象(静态属于类,动态属于对象,静态被静态构造器创建,动态被普通构造创建,所以实例对象的时候,静态不会被重新构造), 二,类型对象的生存周期是整个应用程序域的生存周期,也就说被访问过的静态资源,只有它所在的

成员变量、局部变量、静态变量的区别及

成员变量在堆区,因为成员属于对象的一部分,而对象分配在对中 局部变量分配在占中,对象的引用也分配在栈中 静态变量分配在方法区的静态区中 1:成员变量和局部变量的区别 (1)在类中的位置不同 成员变量:类中方法外 局部变量:方法定义中或者方法声明上 (2)在内存中的位置不同 成员变量:在堆中 局部变量:在栈中 (3)生命周期不同 成员变量:随着对象的创建而存在,随着对象的消失而消失 局部变量:随着方法的调用而存在,随着方法的调用完毕而消失 (4)初始化值不同 成员变量:有默认值 局部变量:没有默认