zoukankan      html  css  js  c++  java
  • 补充!引用类型和值类型

    1. 变量之间相互赋值的时候.将源变量中的值拷贝1份,将这个副本赋值给目标变量.
     
     2. 赋值表达式要求 赋值符号 右边的数据的类型 和左边的数据的类型一致
     就可以成功赋值.

     3. 内存的作用:存储数据:
     内存中主要分为两个空间:
     栈空间:
     堆空间:
     栈空间与堆空间他们是用来存储数据的. 不同的数据存储在不同的空间中,这么做的好处在于方便管理.
     
     4. 那么栈中存储哪些数据?
     堆中存储哪些数据呢?
     int 类型的变量 开辟在栈空间中,其值直接存储在该变量中的.
     
     int[] arr = new int[3];
     int[]是1个数据类型.
     arr是1个变量. 那么既然是1个变量,它里面是不可能存储多个数据的.
     new int[3]; 这是1个表达式 。
     new是1个运算符.
     
     这个int[]类型的变量arr 仍然开辟在栈空间中.
     new int[3]做的事情 在堆内存中开辟连续的3块int类型的空间.
     然后将第1个元素的内存地址返回 通过 赋值符号 赋值给arr变量.
     arr变量并不会分成几个等分. 真正的数组是存储在堆空间中的. arr变量中存储的是数组的地址.
     
     5. 在即时窗口中, 我们可以使用 &变量名 然后可以清晰的查看这个变量的地址以及这个变量中存储的值.
     
     
     6. 数据类型.
     现在学习的数据类型:
     数值类型: long int short byte decimal double float
     非数值类型: char string bool 数组

     在此之前:我们将我们学习到的数据类型分为两大类:
     数值类型
     非数值类型
     划分的依据: 数据的样式.
     
     我们现在要将我们学习到的所有的数据类型 按照1种 新的依据 重新划分.
     这个时候我们划分的依据: 是他们在内存中存储的结构不同.
     值类型:
     所有的数值类型(long int short byte decimal double float uint ushrot ulong sbyte)
     char
     bool
     引用类型:
     string
     数组



     7. 值类型与引用类型的异同:
     a. 相同点: 无论是值类型还是引用类型 它们的变量始终开辟在栈空间中.
     b. 不同点:
     值类型的变量的真实的值 直接存储在该变量中.
     引用类型的变量的真实的值是存储在堆空间中. 引用类型变量中存储的是真实值在堆空间中的地址.
     c. so 值类型的变量中存储真实的数据.
     引用类型的变量中存储1个引用地址 指向堆空间中的真实的数据.
     
     d. 所有的值类型的数据,都是这么存储的.
    变量开辟在栈中. 变量中直接存储真实的值.
     
     所有的引用类型的数据 都是这么存储的
     变量开辟在栈中,真实的数据存储在堆中,变量中存储的是真实的值在堆空间中的应用地址,
     
     8. 正因为值类型与引用类型有以上的区别,
    所以就造就了值类型的变量在相互赋值的时候 和 引用类型的变量相互赋值 效果是不同的.
     
     变量之间相互赋值,如果变量的类型不同 那么赋值的效果就会不同.
     
     a. 变量在相互赋值的时候, 无论是引用类型的变量还是值类型的变量.都是源变量的值拷贝1份 将副本赋值给目标变量.
     
     b. 不同点:
     如果是值类型的变量之间相互赋值. 因为值类型的变量中存储的是真实的值. 所以拷贝传递的也是真实的值.
     赋值完成以后,对1个变量的值进行修改 不会影响另外1个变量的值 。

     引用类型的变量之间相互赋值. 因为引用类型的变量中存储的是真实的值在堆空间中的地址,所以拷贝传递的也是地址.
     赋值完成以后 两个变量指向了同1个在堆空间中的真实的数据 对1个变量进行修改,会影响另外的1个变量的值.
     
     9. string类型是1个特殊的引用类型

     监视变量的地址和值:

  • 相关阅读:
    Android应用基础概念
    Sqlserver Rand
    sqlite3 锁
    上海盛大网络浩方在线招聘网站程序
    代码片段
    泛型类型的返回
    招 .Net 网站程序员, Flash 程序员
    ACS 20070412 TODO
    MSSQL 2005 分页分析及优化
    虚惊一场
  • 原文地址:https://www.cnblogs.com/sabry34126/p/3798352.html
Copyright © 2011-2022 走看看