值类型和引用类型在内存上的存储区域

程序员开发经常涉及到的内存区域:堆、栈、静态存储区域。

值类型和引用类型的区别:

  1. 值类型和引用类型在内存上存储的地方不一样。值类型的值是存储在内存的栈当中。引用类型的值是存储在内存的堆中。
  2. 在传递值类型和传递引用类型的时候,传递方式不一样。值类型我们称之为值传递,引用类型我们称之为引用传递。

本章节,暂时只介绍第1个区别:值类型和引用类型在内存上的存储区域。

 

常用值类型:int、double、bool、char、decimal、struct、enum

常用引用类型:string、自定义类、数组


 

 1.值类型存储图解:

 


 

 2.引用类型-字符串存储图解:

 

 


 

3.引用类型-自定义类存储图解:


 

 引用类型存储总结:

引用类型的对象存储在堆中,并且会分配一个内存地址。该内存地址会存储到栈空间,栈空间名为变量名。

即读取引用类型对象的顺序:变量—>内存地址—>实例对象。

posted @ 2018-07-30 17:28  姜承轩  阅读(2977)  评论(0编辑  收藏  举报