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

    千次阅读 热门讨论 2013-11-13 17:10:57
    全局变量,静态变量和局部变量的区别;从存储方式和作用域两个方面做了一个比较!

    1.变量分类

    1.1  变量可以分为:全局变量、静态全局变量、静态局部变量和局部量。 

    1.2  按存储区域分,全局变量、静态全局变量和静态局部变量都存放在内存的静态存储区域,局部变量存放在内存的栈区。  

     

    1.3  按作用域分,全局变量在整个工程文件内都有效;静态全局变量只在定义它的文件内有效;静态局部变量只在定义它的函数内有效,只是程序仅分配一次内存,函数返回后,该变量不会消失;局部变量在定义它的函数内有效,但是函数返回后失效。


    2.变量的作用域

    按作用域范围可分为两种, 即局部变量和全局变量。 

    2.1局部变量 

      局部变量也称为内部变量。局部变量是在函数内作定义说明的。其作用域仅限于函数内, 离开该函数后再使用这种变量是非法的。

    关于局部变量的作用域还要说明以下几点: 

      1. 主函数中定义的变量也只能在主函数中使用,不能在其它函数中使用。同时,主函数中也不能使用其它函数中定义的变量。因为主函数也是一个函数,它与其它函数是平行关系。这一点是与其它语言不同的,应予以注意。 

      2. 形参变量是属于被调函数的局部变量,实参变量是属于主调函数的局部变量。 

      3. 允许在不同的函数中使用相同的变量名,它们代表不同的对象,分配不同的单元,互不干扰,也不会发生混淆。

    2.2全局变量 

      全局变量也称为外部变量,它是在函数外部定义的变量。 它不属于哪一个函数,它属于一个源程序文件。其作用域是整个源程序。

    2.3静态全局变量

    静态全局变量也具有全局作用域,它与全局变量的区别在于如果程序包含多个文件的话,它作用于定义它的文件里,不能作用到其它文件里,即被static关键字修饰过的变量具有文件作用域。这样即使两个不同的源文件都定义了相同名字的静态全局变量,它们也是不同的变量。  

    从分配内存空间看: 

    全局变量,静态局部变量,静态全局变量都在静态存储区分配空间,而局部变量在栈里分配空间。  

    全局变量本身就是静态存储方式,静态全局变量当然也是静态存储方式。这两者在存储方式上并无不同。这两者的区别虽在于非静态全局变量的作用域是整个源程序,当一个源程序由多个源文件组成时,非静态的全局变量在各个源文件中都是有效的。而静态全局变量则限制了其作用域,即只在定义该变量的源文件内有效,在同一源程序的其它源文件中不能使用它。由于静态全局变量的作用域局限于一个源文件内,只能为该源文件内的函数公用,因此可以避免在其它源文件中引起错误。  

    1) 静态变量会被放在程序的静态数据存储区(全局可见)中,这样可以在下一次调用的时候还可以保持原来的赋值。这一点是它与堆栈变量和堆变量的区别。 

    2) 变量用static告知编译器,自己仅仅在变量的作用范围内可见。

    这一点是它与全局变量的区别。 

    从以上分析可以看出,把局部变量改变为静态变量后是改变了它的存储方式即改变了它的生存期。把全局变量改变为静态变量后是改变了它的作用域,限制了它的使用范围。因此static 这个说明符在不同的地方所起的作用是不同的。应予以注意。 

    3.变量的存储类型

    变量的存储类型各种变量的作用域不同, 就其本质来说是因变量的存储类型相同。所谓存储类型是指变量占用内存空间的方式, 也称为存储方式。变量的存储方式可分为“静态存储”和“动态存储”两种。  

      3.1 静态存储变量通常是在变量定义时就分定存储单元并一直保持不变, 直至整个程序结束。全局变量即属于此类存储方式。

    3.2 动态存储变量是在程序执行过程中,使用它时才分配存储单元, 使用完毕立即释放。 典型的例子是函数的形式参数,在函数定义时并不给形参分配存储单元,只是在函数被调用时,才予以分配, 调用函数完毕立即释放。如果一个函数被多次调用,则反复地分配、 释放形参变量的存储单元。

    从以上分析可知, 静态存储变量是一直存在的, 而动态存储变量则时而存在时而消失。  



    展开全文
  • python中如何区分常量和变量

    千次阅读 2016-07-09 11:13:25
    python变量和常量 变量在内存中的表示

    变量命名由字母、数字、下划线组成,不能以数字开头,并且对字母大小写敏感。

    所谓的常量就是不能改变的量,比如常用的数学常数 PI 就是一个常量,在python中,通常用全部大写的标识符来表示常量,如:PI=3.1415926

    但事实上PI仍然是一个变量,python没有任何机制保证PI不会被修改,所以,用全部大写的标识符表示常量只是一个习惯上的用法,

    实际上,PI的值仍然可以被修改。

    c++ 中通过const来定义常量,比如 const int a=10; 之后,只能读a,而不能写a,而python中没有这种用法。

    python通过标识符的大小写来区分变量和常量:变量名大写表示常量,如PI=3.1415926,小写表示变量,如price=2.5

    Python中并没有提供定义常量的保留字,但是,可以自己定义一个常量类来实现常量的功能:

    具体请参考:

    1》深入理解Python变量与常量

    2》Python常量

    最后,通过一张截图来解释一下,python中变量在计算机内存中的表示:


    (完)

    展开全文
  • 那么今天我就借助《C程序设计语言》与《C指针》这两本书来尽可能区分一下他们。 首先我们要了解变量的三种属性:作用域,链接属性,存储类型。 作用域:变量可以被使用的区域。 链接属性:决定如何处理不同位置...

    谈起变量的类型,映入眼帘的首先可能是静态变量、自动变量;也可能是外部变量、内部变量;或许还会有全局变量、局部变量、寄存器变量...总之,不免让人感到头大。

    那么今天我就借助《C程序设计语言》《C和指针》这两本书来尽可能区分一下他们。

    首先我们要了解变量的三种属性:作用域,链接属性,存储类型。

    作用域:变量可以被使用的区域。

    链接属性:决定如何处理不同位置出现的变量。

    存储类型:三个地方用于储存变量,分别是普通内存、运行时堆栈、硬件寄存器。

    还有 代码块:位于一对花括号之间的所有语句称为一个代码块。如int fun(){...}、if(..){...}等。在花括号之间为代码块区域。

    静态变量,自动变量与寄存器变量可以放在一起分析(因为他们或多或少与位置相关)

    静态变量 自动变量 寄存器变量
    所有的代码块之外声明的变量 在代码块内部定义的变量 用register修饰的变量
    储存于静态内存中 储存在堆和栈中 储存在寄存器中
    程序运行之前创建,整个运行期间存在直至程序结束 控制流进入代码块时被创建,离开时被销毁 创建销毁时间与自动变量相同

    创建也指系统为其分配内存,销毁即释放内存。

    寄存器变量一般是在程序中使用频率高的,可加快程序执行速率。如register int a;把a声明为寄存器变量。

    然后我们区分外部变量和内部变量,全局变量和局部变量

    外部变量指定义在函数体之外的变量。又称全局变量(可以被程序所有对象或函数引用,即在全局范围内访问)

    内部变量指定义在函数体内部的变量。又称局部变量(只能被函数内部使用,无法被其他对象或函数引用,即在局部区域范围可以被访问),同时包括函数的参数。

    这样看内部变量应该属于自动变量的一种(自动变量还包括非函数的花括号中的变量),

    最后附上一点计算机知识:为了存储数据,计算机的主存储器包含大量的电路,每一个电路都能储存比特,即二进制数字0或1中的一个。这些存储电路以单元(存储器)的形式排列。为了识别计算机主存的单元格,为每个单元格分配一个唯一的名称,称其为地址。

    展开全文
  • Kotlin的变量和数据类型

    千次阅读 2017-12-28 10:23:08
    什么是变量和数据类型 为了方便新手阅读,在这里我们简单介绍下变量和基本数据类型的概念,老司机跳过即可。 首先我们先来搞清楚一件事就是我们编写的程序实际上都是在处理数据。不管是视频,图片,还是文字,...

    什么是变量和数据类型

    为了方便新手阅读,在这里我们简单介绍下变量和基本数据类型的概念,老司机跳过即可。


    首先我们先来搞清楚一件事就是我们编写的程序实际上都是在处理数据。不管是视频,图片,还是文字,数字等,都是数据,只不过呈现出来的方式不同。

    那我们怎么才能操作这些数据呢?
    这个时候,我们就需要变量了。

    变量可以理解为存储数据的容器,用来描述数据,比如在程序中,一个人的名字可以用name这个变量来描述,年龄可以用age来描述等
    我们知道了可以用name表示名字,age表示年龄,但是在生活中,名字一般都是文字,年龄都是数字。那在程序中我们要怎么区分呢?别担心,编程语言已经给我们定义好了一些基本的数据类型,可以用来描述不同的数据。

    变量声明

    我们先来看看怎么声明变量


    在kotlin中变量的声明是用var关键字

    例如:

      var num:Int=1//声明一个变量  变量名为num  类型为Int  相当于num就是一个容器,里面放了一个值是  数字1
    

    var表示声明了一个变量,后面num就是变量的名称,变量名称后面的:Int表示这个变量是Int类型的。这个是固定写法,记着就好。

    
        var num:Int=1//声明一个变量  变量名为num  类型为Int
        num=3//重新给变量num赋值为3
    

    声明变量后我们可以重新给变量赋值

    val关键字用于声明一个常量,相当于java中用final修饰的变量,常量可以看做是特殊的变量,特殊之处在于声明的时候必须要赋值,赋值过后就不能再修改它的值了。就好比我们的身份证号,正常情况下一旦定下来是不会改变的,这个时候在程序中我们就可以用常量来表示,常量名一般都是全大写的。

      val VALUE:Int=4//声明一个常量,值为4  
    

    类型推断

    kotlin在声明变量时会根据首次赋值自动推断变量的类型,这个用起来就很爽了

        var name="yzq"//自动推断name类型为String
        var age=24//自动推断age类型为Int
    

    数据类型


    再来看看数据类型。

    数字类型

    数字类型主要包括整型(整数)和浮点型(小数),主要有以下几种类型


    Byte 字节 8位 值范围 -128 — 127

        var byte:Byte=1
        var minByte=Byte.MIN_VALUE//-128
        var maxByte=Byte.MAX_VALUE//127
    
    

    Short 短整型 16位 值范围 -32768 —— 32767

        var shortNum:Short=1
        var minShort=Short.MIN_VALUE//-32768
        var maxShort=Short.MAX_VALUE//32767
    
    

    Int 整型 32位 值范围 -2147483648 —— 2147483647

        var intNum:Int=1
        var minInt=Int.MIN_VALUE//-2147483648
        var maxInt=Int.MAX_VALUE//2147483647
    
    

    Long 长整型 64位 直范围 -9223372036854775808 —— 9223372036854775807

        var longtNum:Long=1
        var minLong=Long.MIN_VALUE//-9223372036854775808
        var maxLong=Long.MAX_VALUE//9223372036854775807
    

    **Float 单精度浮点型 32位 **

         var floatNum:Float=1.1f
        var minFloat=Float.MIN_VALUE//1.4E-45
        var maxFloat=Float.MAX_VALUE//3.4028235E38
    

    Double 双精度浮点型 64位

        var doubleNum:Double=1.1
        var minDouble=Double.MIN_VALUE//4.9E-324
        var maxDouble=Double.MAX_VALUE//1.7976931348623157E308
    

    数字字面值中的下划线

    主要是对于比较长的数据进行分割,更易读,也是个不错的特性
    比如我们把一个银行卡号每5个数进行分割,这样看起来就方便一些,打印的结果就是去掉下划线后的值,很实用

        var longNum=62284_82398_43130_0579
        println(longNum)//6228482398431300579
    

    装箱和拆箱

    在kotlin中,万物皆对象,因此和java不同的是在kotlin中不存在基本类型和引用类型的概念。

    类型转换
    数字类型之间相互可以转换,但可能存在精度丢失问题,kotlin中的类型转换跟java有些不一样,kotlin是不支持隐式转换的,比如将一个Int类型的值赋值给Long类型,这在java中是允许的,但是在Kotlin中是不行的,必须显示的进行转换。

    转换方法

    toByte(): //转换成Byte类型
    
    toShort(): //转换成Short类型
    
    toInt(): // 转换成Int类型
    
    toLong(): // 转换成Long类型
    
    toFloat(): // 转换成Float类型
    
    toDouble(): // 转换成Double类型
    
    toChar(): // 转换成Char类型
    

    示例代码:

    
        var num=1.11111213213213213124321
        var numToByte=num.toByte()
        var numToShort=num.toShort()
        var numToLong=num.toLong()
        var numToFloat=num.toFloat()
        var numToDouble=num.toDouble()
    
        println(numToByte)//1
        println(numToShort)//1
        println(numToLong)//1
        println(numToFloat)//1.1111121
        println(numToDouble)//1.1111121321321322
    
    

    布尔

    Boolean 只有2个值 true和false 通常用作与逻辑判断

        var trueV:Boolean=true
        var flaseV:Boolean=false
    
    

    逻辑运算符
    跟java中以一样,与,或非

        var a = true
        var b = false
        /*或*/
        if (a || b) {
            println(true)
        } else {
            println(false)
        }
    
        /*与*/
        if (a && b) {
            println(true)
        } else {
            println(false)
        }
    
        /*非*/
        println(!a)
        println(!b)
    
    
    

    字符

    kotlin的Char其实是一个16位的Unicode字符,占两个字节,用单引号‘ ’括起来,可以是汉字,符号,数字等等

        var charA = '1'
        var charB = '喻'
        var charC = 'y'
    

    字符串

    String 用双引号“”括起来的值

        var name:String="yzq"
    

    字符串模板
    在kotlin中有个非常好用的特性就是字符串模板,原生字符串模板用三个双引号括起来表示,
    例:

    fun main(args: Array<String>) {
        var content = """
            窗前明月光
            疑是地上霜
            举头望明月
            低头思故乡
            """
        println(content)
    }
    

    这里写图片描述

    如果用java来打印上面这首诗,你可以试试有多麻烦。

    kotlin中字符串模板还可以嵌套表达式,表达式用 $ 开头
    用过java的人都知道,如果需要拼接大量的字符串的话,写起来简直是太恶心了。
    例如:

    java代码;

    public class Main {
        public static void main(String[] args) {
            int a = 1;
            int b = 2;
            int c = 3;
            System.out.println(a + "+" + b + "+" + c + "+" + (a + b + c));
        }
    }
    
    

    上面的运算并不复杂,但是拼接起来也是够恶心的了
    我们来看看kotlin中用字符串模板来写有多爽

    kotlin:

    fun main(args: Array<String>) {
    
        val a = 1
        val b = 2
        val c = 3
        println("$a+$b+$c=${a + b + c}")
    }
    

    是不是明显觉得好了很多,不用去拼接那么多加号了。


    区间(Range)

    在java中是没有区间的,区间是一个数学上的概念,叫做范围,比如,1到100这个范围就叫做区间。

    区间的写法:

        /*定义一个1到100的区间  [1,100]  ..符号其实就是rangeTo函数*/
        val range1:IntRange=1..100
    

    常用区间就是IntRange了,kotlin中还有CharRange、LongRange

    区间常用的方法
    1)isEmpty()//判断区间是否为空
    2)contains()或in //判断区间是否包含某个值
    3) for()//迭代区间

        /*判断区间是否为空*/
        println(range2.isEmpty())
    
        /*判断区间是否包含某个值*/
        println(range1.contains(10))
        println(1 in  range1)
    
        /*迭代区间*/
        for (i in range1) {
            print("${i},")
    
        }
    
    
    
    
    
        var chengji=66;
        if (chengji in 1..60){
            println("不及格")
        }else if (chengji in 60..80){
            println("良好")
        }else if (chengji in 80..100){
            println("优秀")
        }
    
        /*相当于java中的    
        if (chengji>0&&chengji<60){
            println("不及格")
        } 
        */
     
    
    

    数组

    创建数组的几种方式

    1.arrayOf()

        /*通过arrayof()函数创建数组,数组里面可以放任何类型的数据*/
        var arrA = arrayOf(1, 2, "3", true)
    

    2.arrayOfNulls()

        /*创建一个空数组并指定其数据类型和长度*/
        var arrB = arrayOfNulls<String>(3)
        /*赋值*/
        arrB[0] = "1"
        arrB[1] = "2"
        arrB[2] = "3"
    
    

    3.Array(size,fun)

        /*通过构造函数 指定size和一个表达式=  index为下标  从0开始一直到size-1  */
        var arrC = Array(3, { index -> index })  //[0,1,2]
    

    4.原始类型数组函数

    Kotlin 也有无装箱开销的专门的类来表示原生类型数组,并提供了相应的函数用于构建这些数组

        /*创建一个ByteArray*/
        var byteArr = byteArrayOf(1, 2, 3, 4, 5)
        /*创建一个ShortArray*/
        var shortArr = shortArrayOf(1, 2, 3, 4, 5)
        /*创建一个IntArray*/
        var intArr = intArrayOf(1, 2, 3, 4, 5)
        /*创建一个LongArray*/
        var longArr = longArrayOf(1L, 2L, 3L)
        /*创建一个FloatArray*/
        var floatArr = floatArrayOf(1.0f, 2.0f, 3.0f)
        /*创建一个DoubleArray*/
        var doubleArr = doubleArrayOf(1.0, 2.0, 3.0)
        /*创建一个CharArray*/
        var charArr = charArrayOf('1', '2', '3')
    
    

    如果文中有什么纰漏或错误的话,请留言指正,我会及时修改。如果你觉得本文还不错的话,记得点个赞呦,或者关注我的专栏,希望能帮到你,谢谢。

    展开全文
  • 1.shell中变量的定义使用 你可在任何编程语言中使用变量,但是在脚本编程(shell)中它们是没有类型的,简称弱类型编程语言,在这个变量中可以保含一个数字,一个字符串,一个单词等。你并不需要声明这个变量,它会...
  • 如果局部变量的名字和成员变量的名字相同, 要想在该方法中使用成员变量,必须使用关键字this 成员变量和局部变量的区别成员变量:1、成员变量定义在类中,在整个类中都可以被访问。2、成员变量随着对象的建立而...
  • 外部变量和静态变量

    千次阅读 2013-12-05 20:08:31
    外部变量 1.简介  外部变量是在函数外部定义的全局变量,它的作用域是从变量的定义处开始,到本程序文件的结尾。在此作用域内,全局变量可为各个函数所引用。编译时将外部变量分配在静态存储区。有时需要在...
  • 变量(静态变量)、成员变量、局部变量区分理解及存储分类。Java程序运行时的内存结构分为:1、方法区;2、栈内存;3、堆内存;4、本地方法栈。
  • 系统上本来装有各种专业软件,在某次新装软件配置环境变量时新建了一个环境变量并将变量名写成PATH(原来是Path),后来在使用其他软件出现问题,查看发现是被覆盖。借此写下来,提醒自己!!! 附Windows系统Path值...
  • Java之成员变量、局部变量和静态变量的区别

    千次阅读 多人点赞 2017-12-04 11:30:24
    之前在刚开始学习Java的时候,就谈了谈Java基础中的变量(见 http://www.linuxidc.com/Linux/2015-02/113862.htm),虽然知道这货以后会经常用到,但没想到了基本语法这里,竟然有冒出来了成员变量、局部变量和静态...
  • 静态局部变量和静态全程变量static。

    万次阅读 多人点赞 2019-01-01 13:28:04
    static 是 C/C++ 中很常用的修饰符,它被用来控制变量的存储方式可见性。 1.1 static 的引入 我们知道在函数内部定义的变量,当程序执行到它的定义处时,编译器为它在栈上分配空间,函数在栈上分配的空间在此...
  • Java基础——成员变量、局部变量和静态变量的区别

    万次阅读 多人点赞 2015-02-19 18:30:09
    之前在刚开始学习Java的时候,就谈了谈Java基础中的变量,虽然知道这货以后会经常用到,但没想到了基本语法这里,竟然有冒出来了成员变量、局部变量和静态变量。变来变去太容易让人搞晕了,挑拣出来梳理一下喽!  ...
  • 局部变量和全局变量以及成员变量的区别

    万次阅读 多人点赞 2017-07-13 20:00:53
     // 写在类声明的大括号中的变量, 我们称之为 成员变量(属性, 实例变量)   // 成员变量只能通过对象来访问   // 注意: 成员变量不能离开类, 离开类之后就不是成员变量 成员变量不能在定义的同时进行...
  • shell变量设置引用

    千次阅读 2019-09-06 10:47:00
    shell变量的引用:echo $COLOR或者echo ${COLOR},大括号是为了区分变量和其他字符 自定义变量: 自定义变量是自己命名的变量,不能够与系统中已有的变量同名。 自定义变量的设置:Day=Friday,使用习惯是首字母...
  • MacBook设置环境变量和系统变量

    千次阅读 2016-12-08 23:35:43
    建议:环境变量区分用户、所有用户系统级别。 优先更改系统级别的环境变量,即:/etc/bashrc; 先熟悉几个操作控制台的名词: sudo:以root用户操作; vi:改动文件的命令; w:保存; q:退出; wq!:...
  • C和C++中全局变量,局部变量,静态变量和常量

    千次阅读 多人点赞 2016-08-14 22:54:15
    C/C++中常量,静态变量,全局变量和局部变量的区别和作用。把局部变量改变为静态局部变量后是改变了它的存储方式即改变了它的生存期。把全局变量改变为静态全局变量是改变了它的作用域, 限制了它的使用范围。因此...
  • shell中的环境变量和自定义变量

    千次阅读 2013-10-23 22:40:05
    Shell中的变量可以简单分为环境变量和自定义变量。环境变量有时也被称为全局变量,它是操作系统为Shell事先定义的一组变量,这些变量共同描述了当前Shell运行的系统环境;而自定义变量则是用户根据所需而定义的变量...
  • 静态变量和全局变量的区别

    千次阅读 2015-03-30 11:30:26
    这一点是它与堆栈变量和堆变量的区别。 2.变量用static告知编译器,自己仅在变量的作用范围内可见。这一点是它与全局变量的区别。 Tips: A.若全局变量仅在单个C文件中访问,则可以将这个变量修改为静态全局变量,以...
  • 静态局部变量和动态局部变量区别

    千次阅读 2020-05-13 10:03:05
    静态局部变量和动态局部变量区别: 1.静态局部变量属于静态存储类别,在静态存储区分配存储单元,在整个运行期间都不释放。 而自动变量(动态局部变量)属于动态存储类别,占动态存储空间,函数调用后释放 2.静态局部...
  • Shell 变量的作用域(Scope),就是 Shell 变量的有效范围(可以使用的范围)。 在不同的作用域中,同名的变量不会相互干涉,就好像 A 班有个叫小明的同学,B 班也有个叫小明的同学,虽然他们都叫小明(对应于变量...
  • 区分静态变量、动态变量、内部变量(局部变量)、外部变量(全局变量)静态变量、动态变量、内部变量(局部变量)、外部变量(全局变量变量的分类来看 静态变量、动态变量、内部变量(局部变量)、外部变量(全局...
  • 环境变量这个概念不陌生, 就是操作系统的环境变量。 系统变量就是java本身维护的变量。 通过 System.getProperty ...对于不同的操作系统来说, 环境变量的处理可能会有一些不统一的地方, 比如说: 不区分大小写 等等
  • java中局部变量和全局变量

    万次阅读 2016-12-11 23:59:18
    java区分局部变量和全局变量 1、局部变量:  局部变量的定义:定义在方法中的变量都是局部变量(main方法也是方法,所以定义在main方法中的变量也是局 部变量)。  生存时间:局部变量的生存时间和方法的生存时间...
  • shell脚本之shell内部变量和环境变量

    万次阅读 2018-06-16 10:24:28
    这篇博客介绍:1、部分常用的内部变量2、环境变量变量的分类可以参考:点击打开链接1、部分常用的内部变量: ⑴ #  说明:$#变量是命令行参数或位置参数的数量 ⑵ -  说明:$-变量是传递给shell脚本的执行标志 ...
  • shell之变量和引用

    万次阅读 2016-11-01 11:30:05
    Shell中:变量可有字母数字下划线组成,只能以字母或下划线开头。 命名:PATH=/sbin  JAVA_HOME=”/usr/lib” (变量区分大小写) 在shell中,变量的数据类型无需显示低声明,变量的数据类型会根据不同操作...
  • JQuery中全局变量和局部变量的理解

    千次阅读 2018-08-18 16:14:34
    最后发现自己没有完全理解全局变量和局部变量的含义。首先我定义了一个变量query1,然后又在局部函数里面又定义了一个query1,导致全局变量query1依旧为空。解决方法:去掉点击事件中query1前的var即可, 修改后的...
  • C++ 全局变量和局部变量

    千次阅读 2015-08-01 11:26:13
    一:为什么静态成员变量要通过类外初始化赋值? 当将类的某个数据成员声明为static时,该静态数据成员只能被定义一次,而且要被同类的所有对象共享。各个对象都拥有类中每一个普通数据成员的副本,但静态数据成员...
  • 成员变量和局部变量同名 在同一个作用域内不允许定义同名的多个变量。   在一个方法内,可以定义和成员变量同名的局部变量或参数,此时成员变量被屏蔽。此时如果想要访问成员变量,可以通过 this 关键字来...
  • 结构体变量和结构体指针的区别,

    千次阅读 多人点赞 2019-06-23 13:11:44
    学了结构体很久了,以为自己能够很熟练了,今天发现自己今天成员运算符 (.) 指向运算符(->) 之间竟然犹豫了 其实成员运算符是结构体变量访问成员是用的。而指向运算符则是结构体指针访问成员时使用的,因为...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 399,347
精华内容 159,738
关键字:

区分自变量和因变量