精华内容
下载资源
问答
  • C语言中,按作用域范围可以分为局部变量全局变量2种类型局部变量局部变量就是在函数内部声明的变量,它只在本函数内部有效,也就是说,只能在本函数内部使用 局部变量,只有当它所在的函数,被调用时才会被使用,...

    变量,可以定义在函数内,也可以定义在函数外
    定义在不同位置的变量,作用域也是不同的
    C语言中,按作用域范围可以分为局部变量、全局变量2种类型

    局部变量

    局部变量就是在函数内部声明的变量,它只在本函数内部有效,也就是说,只能在本函数内部使用
    局部变量,只有当它所在的函数,被调用时才会被使用,而当函数调用结束时,局部变量也就失效了

    全局变量

    在所有函数外部定义的变量,称为全局变量
    所有函数包括main()主函数,它不属于任何一个函数,而是属于源程序
    全局变量,可以为程序中的所有函数所共用,它的有效范围从定义处开始到源程序结束
    示例代码

    #include<stdio.h>
    int x=123;
    void show()
    {
        printf("show()函数中,x的值为:%d\n",x);
    }
    void main()
    {   
        show();
        printf("main()函数中,x的值为:%d\n",x);
    }

    运行结果
    这里写图片描述

    注意
    当局部变量与全局变量重名时,全局变量会被屏蔽

    展开全文
  • 全局变量与局部变量同名,则在局部变量的作用范围内,全局变量被屏蔽。全局变量增加了程序的耦合度,如果一个全局变量可以被多个要限制使用全局变量!局部变量Local Variable不同的函数及作用域中可以使用相同名字的...

    全局变量Global Variable

    全局变量会降低程序可读性!!!

    全局变量作用范围:定义始至文件尾;

    全局变量与局部变量同名,则在局部变量的作用范围内,全局变量被屏蔽。

    全局变量增加了程序的耦合度,如果一个全局变量可以被多个

    要限制使用全局变量!


    局部变量Local Variable

    不同的函数及作用域中可以使用相同名字的局部变量,它们在内存中分属不同的存储区间,互不干扰。


    复合语句的作用

    大家都知道  case里边不允许声明变量。。

    但是就像声明,而且用完就去掉怎么办??

    答案就是:符合语句加局部变量

    大括号括起来,里边声明变量,局部变量出作用域,自动释放。

    局部变量有神马效果??
    局部变量又称为自动变量,就是在栈区的变量,出作用域,会自动释放的变量
    效果就是不用你手动去释放变量的空间,出作用域系统会自动释放。。。

    与自动变量相对应的是static变量,就是静态变量,它是在全局区的变量,出作用域不会自动释放的变量

    /*
    *copyright(c) 2018,HH
    *All rights reserved.
    *作 者:HH
    *完成日期:2018年7月10日
    *版本号:v1.0
    *
    *问题描:;全局变量vs局部变量!局部变量打断全局变量的传递!
    *输入描述:;
    *程序输出:;。
    */
    
    #include<stdio.h>
    void fun1();
    void fun2();
    int x=1;//定义x为全局变量
    int main()
    {
        //int x=1;//此局部变量也会“中断”全局变量的传递!!!
        x++;
        printf("%d\n",x);
        fun1(x);
        printf("%d\n",x);
        fun2(x);
        printf("%d\n",x);
        return 0;
    }
    
    
    /*
    定义1
    功能:
    参数:
    返回值:
    算法:
    */
    void fun1()
    {
        //int x=1;//若在此设置局部变量,则仅在此函数中有效,会打断主函数中“全局变量”的传递!!!!
        x+=3;
    }
    /*
    定义2
    功能:
    参数:
    返回值:
    算法:
    */
    void fun2()
    {
        //int x=1;//局部变量
        x+=7;
    }
    
    





    展开全文
  • Python局部变量与全局变量

    千次阅读 2013-05-18 21:27:25
    Python中的局部全局与全局变量主要体现在函数内的变量函数外的变量。 局部与全局就是变量的作用域(作用范围)。 当你在函数内部定义变量的时候,它们函数外具有相同名称的变量没有任何关系,即变量对于函数来...

    Python中的局部全局与全局变量主要体现在函数内的变量与函数外的变量。

    局部与全局就是变量的作用域(作用范围)。

    当你在函数内部定义变量的时候,它们与函数外具有相同名称的变量没有任何关系,即变量对于函数来说是 局部 的。这也是这个变量的 作用域 。

    所有的变量的作用域是它们被定义的块,从它们被定义的地方开始。

    使用局部变量:

    #!/usr/bin/env python
    # Filename: func_local.py
    # -*- encoding:utf-8 -*-
    
    def func(x):
        print 'x is', x 
        x = 2   # 定义函数内的变量
        print 'Changed local x to', x
    
    x = 50   # 这里定义了全局变量
    func(x)
    print 'x is still', x

    输出结果:

    x is 50


    Changed local x to 2
    x is still 50

    在函数中,我们第一次使用的 x 的值的时候,Python使用函数声明的形参的值。

    接着,我们把数值 2 赋值给 x 。x是函数func的局部变量,它的作用域只能在函数内部。所以,当我们改变 x 的值的时候,在主块中定义的 x 不受影响。

    在最后的 print 语句中,证明了主块中的 x 的值确实受到影响。


    使用 global 语句 声明全局变量:

    如果你想要为一个定义在函数外的变量赋值(即想要在函数内改变主块中的变量),那么我们就必须告诉Python这个变量不是局部的,而是 全局 的。我们可使用 global 关键字来声明。如果不使用 global 是不能为定义在函数外的变量赋值的。

    你可以使用定义在函数外的变量的值(假设在函数内没有同名的变量)。然而不建议这么做,因为这使得程序的读者不清楚这个变量是在哪里定义的。使用 global 可以清楚的表明变量是在外面的块定义的。

    #!/usr/bin/python
    # -*- encoding:utf-8 -*-
    # Filename: func_global.py
    
    
    def func():
        global x  # 声明变量 x 是全局变量
    
        print 'x is', x
        x = 2  # 在函数内部为全局变量 x 赋值
        print 'Changed local x to', x
    
    x = 50
    func()
    print 'Value of x is', x

    输入结果:

    x is 50
    Changed global x to 2
    Value of x is 2

    使用 global 关键字在函数内声明了变量 x 是全局的,因此,我们在函数内为 x 赋值的时候,这个变化也反映在我们在主块中使用 x 的值的时候。

    你可以用同一个 global 指定多个全局变量。如:global x,y,z。

    注意两点:

    1、如果想要在函数内部去改变主块中的的变量值,需要在函数内部声明这个变量为全局变量;

    2、如果在函数内部不使用 global 声明与主块中同名的变量,那么这个变量会覆盖主块的变量,在函数内而不会使用全局变量,如例一。


    展开全文
  • 1、局部变量与全局变量定义: 在子程序(函数)中定义的变量称为:局部变量;在程序顶级(一开始)定义的变量称为:全局变量。 2、局部变量与全局变量作用域: 局部变量作用域:定义该变量的子程序;全局变量作用...

    1、局部变量与全局变量定义:

    子程序(函数)中定义的变量称为:局部变量;在程序顶级(一开始)定义的变量称为:全局变量

    2、局部变量与全局变量作用域:

    局部变量作用域:定义该变量的子程序;全局变量作用域:整个程序

    当局部变量与全局变量同名时,在定义局部变量的子程序内局部变量其作用;其他地方全局变量起作用。

    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    # Author:ZhengzhengLiu
    
    school = "Qing hua"       #全局变量
    def change_name(name):
        school = "Bei da"    #局部变量
        print(school)
        print("before change:",name)
        name = "LIU"    #局部变量,只在函数内部生效(局部变量的作用域就是定义该变量的子程序)
        print("after change:",name)
    
    print(school)
    name = "liu"        #全局变量,在整个程序中都有效
    change_name(name)
    print(name)
    
    #运行结果:
    #Qing hua
    #Bei da
    #before change: liu
    #after change: LIU
    #liu
    注:在函数内部要将局部变量修改为全局变量,需要用global声明(不要这样用:程序多处调用时会导致逻辑混乱,不利于调试)。
    school = "Qing hua"       #全局变量
    def change_name(name):
        print("before change:",name)
        name = "LIU"    #局部变量,只在函数内部生效(局部变量的作用域就是定义该变量的子程序)
        print("after change:",name)
        global school        # 函数内将局部变量改为全局变量用global声明
        school = "Bei da"  
    
    name = "liu"        #全局变量,在整个程序中都有效
    change_name(name)
    print(name)
    print("school:",school)
    
    #运行结果:
    #before change: liu
    #after change: LIU
    #liu
    #school: Bei da
    3、除了整数和字符串,列表、字典、集合、类中可以在子程序中(子函数)通过修改局部变量达到修改全局变量的目的
    names = ["liu","zhang","wang"]
    def chang_name():
        names[0] = "sun"
        print(names)
    
    chang_name()
    print(names)
    
    #运行结果:
    #['sun', 'zhang', 'wang']
    #['sun', 'zhang', 'wang']

    注:在Python中,Ctrl+?快捷键可以实现多行注释


    展开全文
  • 局部变量与全局变量区别

    千次阅读 2016-12-09 23:02:02
    局部变量:在使用之前必须赋初始值。  例如:int var = 0;  System.out.println(var);...按存储区域分,全局变量、静态全局变量和静态局部变量都存放在内存的静态存储区域,局部变量存放在内存的
  • 详述Java中的局部变量与全局变量

    千次阅读 2019-07-27 13:31:51
    利用计算机程序解决问题,离不开变量的使用,而根据作用范围的不同,有局部变量与全局变量之分,本篇就详述一下局部变量与全局变量。 一、全局变量 (1)定义位置:定义在类的内部,方法的外部。 (2)作用域:在...
  • //局部变量就是私有的变量2、全局变量://就是定义在函数外部的变量(外部变量),//全局变量起作用的范围是当前文件中的所有函数。//全局变量就是所有函数共享的变量三、代码示例1、局部变量...
  • 局部变量与全局变量

    2009-02-09 01:27:00
    要用全局变量,需要使用"::" 局部变量可以与全局变量同名,在函数内引用这个变量时,会用到同名的局部变量,而不会用到全局变量。对于有些编译器而言,在同一个函数内可以定义多个同名的局部变量,比如在两个循环...
  • /* ============================================================================ Name : TestVariable.c Author : lf Version : Copyright : Your copyright notice Description : 局部变量
  • 数据段:数据段存的是数,像全局变量就是存在数据段的 代码段:存的是程序代码,一般是只读的。 栈(stack):先进后出。C语言中局部变量就分配在栈中。   局部变量  普通的局部变量定义的时候直接定义或者在...
  • 静态全局变量,作用域仅限于被定义的文件中,其他文件即使用extern声明也没法使用它。准确地说作用域是从定义之处开始,到文件结尾处结束,在定义之处前面的那些代码行也不能使用它。想要使用就得在前面再加extern。...
  • 在一个函数内部定义的变量(包括函数形参)是局部变量全局变量 在函数外定义的变量是局部变量。 静态变量 静态全局变量全局变量...
  • python中的局部变量与全局变量

    千次阅读 2014-07-28 23:23:11
    1、函数内部的变量名如果第一次出现,且出现在=前面,即被视为定义一个局部变量,不管全局域中有没有用到该变量名,函数中...说明函数中定义的num是一个局部变量,会将全局变量覆盖。再例如: num = 100 def func
  • 局部变量全局变量的区别

    千次阅读 2017-03-05 18:17:45
    全局变量也成为外部变量,它是在函数外部声明的变量。不属于哪一个函数,它属于一个源程序文件。其作用域是整个源程序。 2、局部变量 局部变量是指在程序中,只在特定过程或函数中可以访问的变量,是相对全局变量...
  • 首先,局部变量是指只能在本变量声明的函数内部调用。全局变量时整个代码中都可以调用的变量。当然,单单从字面上理解肯定是不清楚的,下面我详细的介绍下:  大家都知道,变量是需要用var关键字声明的。但是...
  • 全局变量局部变量静态全局变量、静态局部变量的区别   转自:http://hi.baidu.com/sindana/blog/item/06fe68171e364401c93d6ded.html 标签:全局变量 局部变量 静态全局变量 静态局部变量 ...
  • 第二、static修饰全局变量的时候,这个全局变量只能在本文件中访问,不能在其它文件中访问,即便是extern外部声明也不可以。  第三、static修饰一个函数,则这个函数的只能在本文件中调用,不能被其他文件调用。...
  • python的 局部变量全局变量

    万次阅读 2017-07-31 19:12:06
    全局变量:所有函数之外定义的变量局部变量:函数内部定义的变量 ...(即声明了一个新的局部变量。如果这个变量名字和全部变量名字相同,那么局部变量名字会覆盖全局变量名字。#[demo1] num = 100 def func(): newVa
  • C语言中局部变量与全局变量在内存中的存放位置
  • C语言 局部变量与全局变量的生存期

    千次阅读 2019-08-01 19:56:29
    1.局部变量 仅仅在定义它的函数的内才能有效使用,其作用域仅限在函数体内,即从变量定义的位置开始,到函数体结束。...局部变量在函数被调用时由系统分配存储区,在不同的声明周期的函数中同名的变量实际上...
  • 全局变量局部变量静态全局变量、静态局部变量的区别转自:http://hi.baidu.com/sindana/blog/item/06fe68171e364401c93d6ded.html 标签:全局变量 局部变量 静态全局变量 静态局部变量 it ...
  • Java多线程操作局部变量与全局变量

    万次阅读 2013-10-18 10:30:04
     ThreadLocal是JDK引入的一种机制,它用于解决线程间共享变量,使用ThreadLocal声明的变量,即使在线程中属于全局变量,针对每个线程来讲,这个变量也是独立的。  我们可以用这种方式来改造上面的代码,如下...
  • Python 局部变量与全局变量

    千次阅读 2016-08-12 23:01:37
    考虑到想在运行结束后的用户空间里面查看一下数据,我把data1作为全局变量来进行处理。data1 = [] function a1() data1 = readData function a2() data1.dealData if __name__ == "__main__": a1() a2()此时,a2...
  • python的局部变量全局变量区别

    千次阅读 2018-01-16 15:37:59
    全局变量:所有函数之外定义的变量 局部变量:函数内部定义的变量 或者代码...(即声明了一个新的局部变量。如果这个变量名字和全部变量名字相同,那么局部变量名字会覆盖全局变量名字。 #[demo1] num = 100 def fu
  • 今天被问到了一个问题:如何让请求的类延迟释放如果要延迟释放或者在程序整个生命周期都存在可以考虑两种方式,一是定义一个静态变量,二是用单例。用单例本质上用的是静态变量。单例的写法如下:+ (instancetype)...
  • 比如Java中,变量的使用范围是变量声明时所在的{}范围,而python的作用域对应的为同一个缩进。按着变量的使用范围给变量划分成如下两种: 1.全局变量:就是在函数外部定义的变量 2.局部变量:就是在函数内部定义...
  • 局部变量全局变量的作用域

    千次阅读 2019-06-30 19:10:34
    局部变量:在函数内部定义的变量,只在函数内部起作用,函数执行结束,变量会自动删除 即在一个函数内部定义的变量,只在本函数范围内有效 全局变量:“在函数外定义的变量”,即从定义变量的位置到本源文件结束都...
  • 现实世界的数据描述局部变量与全局变量 - 全局变量在程序的全部执行过程中都占用存储单元,而不仅在需要时开辟; - 局部变量在调用时由所在的函数临时分配存储单元,而在函数调用结束后存储单元马上释放;变量的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 195,882
精华内容 78,352
关键字:

局部变量与全局变量的声明