精华内容
下载资源
问答
  • 静态变量与动态变量

    万次阅读 多人点赞 2018-08-02 20:21:10
    静态变量,全局动态变量都是静态存储 2)动态存储变量是在程序执行过程中,使用它时才分配存储单元,使用完毕立即释放 3)静态存储变量是一直存在的,而动态存储变量则时而存在时而消失。通常把由于变量存储方式...

    0.静态存储与动态存储

    1)静态存储变量通常是在变量定义时就分定存储单元并一直保持不变,直至整个程序结束。静态变量,全局动态变量都是静态存储

    2)动态存储变量是在程序执行过程中,使用它时才分配存储单元,使用完毕立即释放

    3)静态存储变量是一直存在的,而动态存储变量则时而存在时而消失。通常把由于变量存储方式不同而产生的特性称为变量的生存期

    4)静态存储只会初始化一次

     

    摘自于:百度百科

     

    1.区别

    定义或者声明变量时,没有static修饰符的就是动态变量,有static修饰符的就是静态变量

     

    2.动态变量(一下简称变量)

    2.1全局变量

    1)在所有函数的外部定义(包括主函数),定义之后的所有函数都能使用,属于静态存储

    2)作用域为整个项目,即最终编译成可执行文件的所有文件中均可以使用动态全局变量。外部文件可以通过extern关键字来声明另一个文件中存在的全局变量

    3)生命周期为从程序运行到程序退出,即贯穿整个运行时间

    4)无显式初始化时默认初始化值为0

    看一个有关全局变量多文件的例子:

    main.cpp

    #include <iostream>
    using namespace std;
    
    int var_a = 0;
    
    void fun1();
    void fun2();
    
    void fun0()
    {
    	var_a = var_a + 1;
    	cout << "fun1:" << var_a << endl;
    }
    
    
    int main()
    {
    	fun0();
    	fun1();
    	fun2();
    	fun0();
    
    	system("pause");
    	return 0;
    }

    variable1.cpp

    #include <iostream>
    using namespace std;
    
    extern int var_a;
    
    void fun1()
    {
    	var_a = var_a + 1;
    	cout << "fun3:" << var_a << endl;
    }

    variable2.cpp

    #include <iostream>
    using namespace std;
    
    extern int var_a;
    
    void fun2()
    {
    	var_a = var_a + 1;
    	cout << "fun3:" << var_a << endl;
    }

    运行结果:

    可以发现,全局变量var_a在所有文件中都共享,每个文件都可以访问它并修改它的值

    2.2局部变量

    1)在函数内部定义,属于动态存储,其他函数不能访问,外部文件也不能访问,否则会出现:

    2)作用域为当前函数,从定义位置,到其所在的{}的结束位置

    3)生命周期为从函数调用到函数退出

    4)无显式初始化时默认初始化值为随机值

     

    3.静态变量

    3.1静态全局变量

    1)作用域为当前文件,从定义/声明位置到文件结尾

    2)生命周期为从程序运行到程序退出,即贯穿整个运行时间

    3)无显式初始化时默认初始化值为0

    静态全局变量与动态全局变量的主要不同:

    动态全局变量可以通过extern关键字在外部文件中使用,但静态全局变量不可以在外部文件中使用。静态全局变量相当于限制了动态全局变量的作用域

    看一个例子:

    #include <iostream>
    using namespace std;
    
    static int b = 10;
    
    void fun()
    {
    	int b = 0;
    	cout << "b = " << b << endl;
    	b++;
    }
    
    int main()
    {
    	for (int i = 0; i < 5; i++)
    		fun();
    
    	system("pause");
    	return 0;
    }

    得到结果:

    为什么得到5个0呢,为什么不是0,1,2,3,4呢

    这是因为在函数fun中定义了一个动态局部变量a,而a同时又是静态全局变量,在这种情况下,作用域小的掩盖作用域大的,所以局部变量会掩盖全局变量。所以动态局部变量a掩盖了静态全局变量a

    3.2静态局部变量

    1)作用域为当前函数,从定义位置,到其所在的{}的结束位置

    2)生命周期为从程序运行到程序退出,即贯穿整个运行时间,当下次函数调用时,静态局部变量不会被再次初始化,而是沿用上次函数退出时的值

    静态局部变量与动态局部变量的主要不同:

    两者作用域相同,都在函数内部,但是两者生命周期不一样,静态局部变量的生命周期是到程序的结束,而动态局部变量的生命周期是函数的结束,静态局部变量的生命周期更长,同时静态局部变量只会初始化一次,函数重复调用,但静态局部变量不会被重新初始化

    看一段代码:

    #include <iostream>
    using namespace std;
    
    void fun()
    {
    	int a = 0;
    	static int b = 0;
    	cout << "a = " << a << endl;
    	cout << "b = " << b << endl;
    	a++;
    	b++;
    }
    
    int main()
    {
    	for (int i = 0; i < 5; i++)
    		fun();
    
    	system("pause");
    	return 0;
    }

    执行结果:

    得到这样的结果也是自然的

    参考来源:

    C语言动态变量与静态变量的区别

    C和C++中全局变量,局部变量,静态变量和常量

    展开全文
  • 区分静态变量、动态变量、内部变量(局部变量)、外部变量(全局变量)静态变量、动态变量、内部变量(局部变量)、外部变量(全局变量)变量的分类来看 静态变量、动态变量、内部变量(局部变量)、外部变量(全局...

    区分静态变量、动态变量、内部变量(局部变量)、外部变量(全局变量)

    静态变量、动态变量、内部变量(局部变量)、外部变量(全局变量)

    文章参考:https://blog.csdn.net/21aspnet/article/details/2560072
    文章参考:https://blog.csdn.net/u013921430/article/details/79279114

    变量的分类来看

    变量分类

    1. 作用域分类
      局部变量(默认是自动局部变量)
      1. 定义:在一个函数内部定义的变量(包括函数形参)
      2. 有效范围:一直在本函数有效
      3. 变量存储:栈内存,函数结束之后自动销毁
      4. 静态局部变量:存储在静态存储区,作用域依旧在函数体内部。每次对其修改都会被保存下来。
      ** 全局变量 **
      1. 定义:在函数外部定义的变量,可为本源文件中其他函数使用
      2. 有效范围:从定义变量的位置开始到本源文件的结束
      3. 变量存储:存储在静态存储区域(静态内存)
      4. 可被工程项目其他文件的 extern 声明之后调用,对其每次修改都会进行保存
      5. 静态全局变量:不能被其他源文件使用,只能本源文件使用,并且每次修改会被保存
    2. 生存周期分类
      静态存储方式——程序运行期间分配固定的存储空间的方式
      动态存储方式——程序运行期间根据需要进行的动态分配空间的方式
      又可分为
      1. auto(自动)——默认,数据存储在动态存储
      2. static(静态)——函数在调用结束之后会保存本次调用的数值
      3. register(寄存器)——在声明动态局部变量或者函数形参时,可将变量声明为register,这样编译系统就会为变量分配一个寄存器而不是内存空间,通过这种方式可提升对某些局部变量频繁调用的程序的性能。(寄存器运算速度远高于内存)
      4. extern (外部)——扩展全局变量的作用域
    展开全文
  • 动态变量和静态变量的区别

    千次阅读 2015-10-03 10:13:01
    动态变量和静态变量的区别:1、存储位置动态变量:存储在内存出栈数据区静态变量:存储在全局数据区(静态数据区)2、生命期动态变量:根据你定义的位置确定,比如你在一个函数中定义的,那么超出该函数范围变量将...

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

    1、存储位置

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

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

    2、生命期

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

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

    3、作用域

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

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

    展开全文
  • 环境变量 postman可以设置多套环境,每套环境里可以有多个环境变量。 环境变量是特定的环境下引用的变量,必须要制定对应的环境才能引用到其中的变量。 ...Postman也有一些动态变量,可以用...

    环境变量

    postman可以设置多套环境,每套环境里可以有多个环境变量。

    环境变量是特定的环境下引用的变量,必须要制定对应的环境才能引用到其中的变量。

    全局变量

    postman只可以设置一组全局变量,作用于整个postman。

    全局变量是在postman中所有的api都使用的变量,可以直接引用全局变量中的变量,而不用指定环境;

    动态变量

    Postman也有一些动态变量,可以用在你的request中。在request header中包含时间戳或者在URL参数中发送一个随机字符串,时间戳和随机字符都属于动态变量。

    注意:动态变量在pre-request script中设置,但不可以用于SandBox中,你只能在request的URL、headers、body中以放在双花括号中间的形式使用。

    数据变量

    集合运行器让我们导入CSV或JSON文件,然后在HTTP请求和脚本中使用来自数据文件的值。这些变量称为数据变量。

    数据变量使用之前要在pre-request script中定义过。eg:var name=data.name

    变量优先级

    数据变量(在collection中使用数据驱动前提下)>环境变量>全局变量

    展开全文
  • 静态变量与动态变量的定义与区别

    千次阅读 2019-01-23 13:14:33
    动态变量和静态变量的定义和区别如下: 1.定义上,静态变量比动态变量在多一个关键字static,比如: 动态变量::int i; 静态变量:static int i; 2.动态变量在子程序中,每次调用都会从它的初始值开始调用,而...
  • 静态变量,全局动态变量都是静态存储 2)动态存储变量是在程序执行过程中,使用它时才分配存储单元,使用完毕立即释放 3)静态存储变量是一直存在的,而动态存储变量则时而存在时而消失。通常把由于变量存储方式...
  • C语言动态变量和静态变量的区别

    千次阅读 2017-11-27 20:21:00
    动态变量,形式为TYPE var_name = init_value;即没有static 修饰。其中的=init_value均可省略。区分定义在函数外的全局变量,和函数内的局部变量,作用域,生命周期,及无显式初始化时的初始值,均有区别。1 动态...
  • 每次调用该函数的时,系统会给它分配存储空间,该函数调用结束释放其存储空间,即动态变量每次被调用都会被赋初值。 静态变量:全局变量都是静态变量,函数中的局部变量加static关键字修饰也是静态变量。多次调用该...
  • shell 动态变量

    千次阅读 2019-07-02 09:19:38
    shell 中的动态变量名 avr_0= avr_1= avr_2= avr_3= avr_4= avr_5= avr_6= avr_7= # 赋值 avr_x = for i in $(seq 0 7) do eval avr_${i}=${i} done # 取值 for i in $(seq 0 7) do tmp=$(eval echo '$'avr_${i})...
  • C语言 动态变量和静态变量的区别

    千次阅读 2018-11-07 22:23:24
    转 C语言动态变量和静态变量的区别 2017年11月27日 20:21:00 guosir_ 阅读数:1586 &amp;amp;amp;amp;amp;amp;amp;amp;lt;span class=&amp;...
  • POSTMAN动态变量设置

    千次阅读 2017-09-11 15:40:29
    POSTMAN在与TEAM共享接口信息时由于地址参数不一致造成了诸多不便,以下便是POSTMAN动态变量的一些基本使用方法。 一、手动设置变量 1.选择右上角Manage Environments 2.点击添加 3.填写名称,写入对应key与...
  • python for循环根据变量生成动态变量

    千次阅读 2019-06-26 13:53:31
    #!/usr/bin/python # -*- coding: UTF-8 -*- for a,s in zip([1,2,3,4,5],["a","b","c","d","e... locals()["qq"+str(a)] = (s+"ww") #生成动态变量 "qq"+str(a) print locals()["qq"+str(a)] 其中locals()["q...
  • 如,有一对象urlObject,通过动态变量名称param,获取对应值。 可通过urlObject[`${param}`]方式获取到值。 如下图:
  • clojure中变量可以分为词法变量(lexical)和动态变量(dynamic),有点类似于其它语言中的局部变量和全局变量。
  • 通过测试,我发现在新建一个动态变量后,指向一个动态变量的指针可以去指向另一个变量,那么之前的那个动态变量怎么delete呢?
  • 静态变量static/动态变量auto的区别: 1.静态变量: #include #include long Func(int n); int main() { int i,n; printf("Input n:"); scanf("%d",&n); for(i=1;i;i++) { printf("%d! = %ld\n",i,Func
  • Python 动态变量名定义与调用方法

    千次阅读 2020-02-25 09:59:44
    这篇文章主要介绍了Python 动态变量名定义与调用方法,需要的朋友可以参考下 动态变量名赋值 在使用 tkinter 时需要动态生成变量,如动态生成 var1…var10 变量。 使用 exec 动态赋值 exec 在 python3 中是内置函数,...
  • 动态变量和静态变量的区别: 1、存储位置 动态变量:存储在内存出栈数据区 静态变量:存储在全局数据区(静态数据区) 2、生命期 动态变量:根据你定义的位置确定,比如你在一个函数中定义的,那么超出该函数...
  • Python 动态变量

    2012-06-04 08:46:12
    在Python中使用动态变量,请使用 globals(), locals() 以及 vars() ,尽量避免使用 eval来获取变量名 例如 test = 1 vars1 = locals()['test'] vars2 = vars()['test'] print vars1, vars2 相关风险可以参考...
  • 动态变量名赋值 在使用tkinter时需要动态生成变量,如动态生成var1...var10变量 使用exec动态赋值 exec在python3中是内置函数,它支持python代码的动态执行。 示例: 利用命名空间动态赋值 在Python的命名...
  • 在给公式赋值时,碰到了一个问题,sympy需要先定义好符号的变量。而符号的变量在写作函数时是不清楚的,如下图: x, y = symbols('x y') expr = (x + y)*2*y+y**2 x和y均为符号变量,是由变长参数值确定的。有...
  • 使用BeanShell设置JMeter动态变量

    千次阅读 2017-02-07 19:37:59
    在某些情况下,我们测试的url是动态的,如http://abc.com/index?param=dynpara,其中dynpara, 其中dynpara表示动态变量,该动态变量是通过某个特定算法实现的。为了实现这样的需求,需要使用 beanshell测试步骤如下:...
  • 动态变量和静态变量的区别: 1、存储位置 动态变量:存储在内存出栈数据区 静态变量:存储在全局数据区(静态数据区) 2、生命期 动态变量:根据你定义的位置确定,比如你在一个函数中定义的,那么超出该函数...
  • 1. 什么是动态变量? i=1 x&i=3 x&i就是动态变量。 如果x&i按照我们所想的一样,那么上述程序的结果应该是得到了一个变量x1=3 上述程序在VBA中可直接实现。 动态变量可以用于批量变量迭代,这是...
  • windows系统动态变量

    2011-12-05 15:51:41
    系统动态变量 动态变量,顾名思义,变量是动态的,会跟据环境的不同,在你使用的时候他的值也是不同的。 %CD% - 当前目录。 %DATE% - 当前日期。 %TIME% - 当前时间。 %RANDOM% - 得到一个十进制数字的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 46,860
精华内容 18,744
关键字:

动态变量