精华内容
下载资源
问答
  • 局部变量和全局变量

    2017-11-02 17:51:02
    局部变量:在函数内定义的变量都是局部变量,从定义该变量开始到离开该变量所在函数 全局变量:在函数外定义的变量都是...如果使用不当,可能会出现局部变量覆盖全局变量的问题 # -*- coding:utf-8 -*- a = "zhangsan

    局部变量:在函数内定义的变量都是局部变量,从定义该变量开始到离开该变量所在函数

    全局变量:在函数外定义的变量都是全局变量,或者在函数内定义的变量,但是用global来修饰的话也可以是全局变量,全局变量是从定义该变量开始到该变量结束

    在这里我们要注意一个问题:

    如果使用不当,可能会出现局部变量覆盖全局变量的问题

    # -*- coding:utf-8 -*-
    a = "zhangsan"
    def test():
        a = "lisi"
    
    def test():
        a = "lisi"
        print '1', a
    test()
    print '2', a

    
    
    
    

    结果:

    # -*- coding:utf-8 -*-
    a = "zhangsan"
    def test():
        global a
       a = "lisi"
    
    print '1', atest()print '2', a

    
    
    
    
    
    
    
    
    
    结果:
    

    在这里,外部的a是全局变量,内部的a是局部变量,两个变量同名则会产生覆盖.如果不想被覆盖,需要在函数内指定a是全局变量



    这是我第一次自己写博客,大家多提意见哦,互相交流大笑





                                                                                                       

    展开全文
  • 全局变量 全局变量默认初始化为0,字符型变量为空字符’’ 定义在函数外,可被本文件及其他文件的函数使用...同一文件中全局变量和局部变量可以同名,在局部变量作用域内,全局变量不起作用 静态全局变量 静态...
    1. 全局变量
      • 全局变量默认初始化为0,字符型变量为空字符’’
      • 定义在函数外,可被本文件及其他文件的函数使用(外部链接),其他文件使用时序用extern声明
      • 生命周期和程序运行周期一样
      • 不同文件的全局变量不可以重名
    2. 局部变量
      • 如果没有赋初值,内容为随机
      • 如果定义在符合语句内,只在复合语句中有效
      • 同一文件中全局变量和局部变量可以同名,在局部变量作用域内,全局变量不起作用
    3. 静态全局变量
      • 静态全局变量的值只初始化一次,默认初始化为0,字符型变量为空字符’’
      • 作用域限制在本文件内(内部链接),因此不同文件的静态全局变量可以重名
      • 生命周期和程序运行周期样
      • 存储在静态区
    4. 静态局部变量
      • 静态局部变量在函数第一次调用的时候构造,只初始化一次,默认初始化为0,字符型为空字符
      • 作用域为定义的函数内
      • 生命周期和程序运行周期一样
      • 存储在静态区
    5. 全局函数
      • c语言中的函数默认都是全局的,使用static关键字可以将函数声明为静态,静态函数只能在本文件中使用
    6. 静态函数
      • 静态函数只能在本文件中使用,因此不同文件的静态函数可以重名
    7. 总结
      类型	作用域	生命周期auto变量	一对{}内	当前函数static局部变量	一对{}内	整个程序运行期extern变量	整个程序	整个程序运行期static全局变量	当前文件	整个程序运行期extern函数	整个程序	整个程序运行期static函数	当前文件	整个程序运行期register变量	一对{}内	当前函数
    展开全文
  • 怎么做:当局部变量全局变量同名时局部变量的作用域内,可以通过关键字this来引用成员变量。 特别注意:关键字this代表的是一个对象,只能用在非静态中,不能用在静态中,因为在静态中this可能是类名也可能是...

    怎么做:当局部变量与全局变量同名时在局部变量的作用域内,可以通过关键字this来引用成员变量。

    特别注意:关键字this代表的是一个对象,只能用在非静态中,不能用在静态中,因为在静态中this可能是类名也可能是对象,因此在编译时会报错,如果需要,可以通过对象去访问成员变量

    代码说明:

    public class Test {
    	int x=1;
    	static void show() {
    		int x=2;
    		System.out.println("局部变量:"+x);
    		//System.out.println(this.x);//程序在编译时报错,this只能是对象,而在这里this可能是对象也可能是类名,具有不确定性
    		System.out.println("全局变量:"+new Test().x);//可以通过创造对象的方式去访问全局变量
    	}
    	
    	void view() {
    		int x=2;
    		System.out.println("局部变量:"+x);
    		System.out.println("全局变量:"+this.x);//编译不会出错,此时方法为非静态
    	}
    }


     

     

     

    展开全文
  • 笔记:如果将main内改为“int i=::i;”,答案就会是B,因为将全局变量i的值赋给了main内的局部变量


    笔记:如果将main内改为“int i=::i;”,答案就会是B,因为将全局变量i的值赋给了main内的局部变量。


     

    展开全文
  • 当局部变量和全局变量同名时,会优先访问局部变量我们要访问全局变量,应该如何做?(暂时只想到三种) `` 1.指针 2.函数返回值 3.extern关键字 ...
  • 局部变量和全局变量同名的情况

    千次阅读 2017-04-21 10:23:37
    同名
  • java中的局部变量和全局变量

    万次阅读 多人点赞 2017-08-18 15:09:10
    Java变量 java中主要有如下几种类型的变量: ...一、局部变量 ...只在特定的过程或函数中可以访问的变量,被称为局部变量。...与局部变量相对应的,是全局变量...在函数内引用这个变量,会用到同名局部变量,而不会
  • 今天课课家笔者为大家详细介绍局部变量和全局变量的概念作用。在函数的参数返回值中我们认识到形参变量要等到函数被调用才分配内存,调用结束后立即释放内存。这说明形参变量只能在函数内部使用,离开该函数就...
  • 实例: string s1 = “hello world”; private void button1_Click(object sender, ... 局部变量可以与全局变量同名,在函数内引用这个变量,会用到同名的局部变量,而不会用到全局变量。对于有些编译器而言...
  • 局部变量和全局变量的区别

    千次阅读 2017-03-05 18:17:45
    1、全局变量 全局变量也成为外部变量,它是在函数外部声明的变量。不属于哪一个函数,它属于一个源程序文件。其作用域是整个源程序。...在函数内引用这个变量,会用到同名局部变量,而不会用到全局变量。 #
  • 局部变量和全局变量的作用域

    千次阅读 2019-06-30 19:10:34
    有外部变量,main函数中的同名变量就是全局变量。如果没有外部变量,main函数里的变量依然是局部变量 目的:增加函数间数据联系的渠道。由于同一文件中的所有函数都能引用全局变量的值 因...
  • 局部变量可以与全局变量同名,在函数内引用这个变量,会用到同名的局部变量,而不会用到全局变量。对于有些编译器而言,在同一个函数内可以定义多个同名的局部变量,比如在两个循环体内都定义一个同名的局部变量,...
  • python的 局部变量和全局变量

    万次阅读 2017-07-31 19:12:06
    全局变量:所有函数之外定义的变量局部变量:函数内部定义的变量 或者代码块里的变量1....如果这个变量名字全部变量名字相同,那么局部变量名字会覆盖全局变量名字。#[demo1] num = 100 def func(): newVa
  • python的局部变量和全局变量区别

    千次阅读 2018-01-16 15:37:59
    全局变量:所有函数之外定义的变量 局部变量:函数内部定义的变量 或者代码块里的变量 ...如果这个变量名字全部变量名字相同,那么局部变量名字会覆盖全局变量名字。 #[demo1] num = 100 def fu
  • 当全局变量和局部变量重名问题总结 前言 ` 一.变量 在介绍全局变量和局部变量之前必须先弄清楚什么是变量 定义:在内存中分配空间,用来保存数据的。 定义格式:数据类型 变量; 例如: int i=0; float abc ...
  • 全局变量:从广义上来看,全局变量也是一种局部变量全局变量定义在全局,所以也叫全局变量。可以在任何地方都被访问到。 1 // b是在全局内部定义的变量,是全局变量,可以在任何地方访问到2 var b = 2;3 ...
  • 【引用】c语言全局变量和局部变量问题汇总 2011-04-09 11:16:37|分类: c语言专题 |标签: |字号大中小订阅 本文引用自yongzi 《c语言全局变量和局部变量问题汇总》 1、局部变量能否和全局变量重名...
  • 当局部变量全局变量同名时,在定义局部变量的子程序内局部变量其作用;其他地方全局变量起作用。 #!/usr/bin/env python # -*- coding:utf-8 -*- # Author:ZhengzhengLiu school = "Qing hua" #全局变量
  • 可以,局部变量会屏蔽全局变量。 在函数内引用这个变量,会用到同名局部变量而不会用到全局变量
  • 局部变量和全局变量,以及作用范围

    万次阅读 多人点赞 2018-11-11 13:56:55
    变量按存储区域分:全局变量、静态全局变量和静态局部变量都存放在内存的静态存储区域,局部变量存放在内存的栈区。 变量按作用域分:  全局变量:在整个工程文件内都有效;“在函数外定义的变量”,即从定义变量...
  • 1、函数内部的变量如果第一次出现,且出现在=前面,即被视为定义一个局部变量,不管全局域中有没有用到该变量,函数中使用的将是局部变量,例如:   num = 100 def func(): num = 123 print(num) func()...
  • 在讨论函数的形参变量曾经提到,形参变量只在被调用期间才分配内存单元,调用结束立即释放。...C语言中的变量,按作用域范围可分为两种,即局部变量和全局变量。 8.1.1局部变量  局部变量也称为内部变

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 95,557
精华内容 38,222
关键字:

当局部变量和全局变量同名时