值类型和引用类型在内存上的存储区域
程序员开发经常涉及到的内存区域:堆、栈、静态存储区域。
值类型和引用类型的区别:
- 值类型和引用类型在内存上存储的地方不一样。值类型的值是存储在内存的栈当中。引用类型的值是存储在内存的堆中。
- 在传递值类型和传递引用类型的时候,传递方式不一样。值类型我们称之为值传递,引用类型我们称之为引用传递。
本章节,暂时只介绍第1个区别:值类型和引用类型在内存上的存储区域。
常用值类型:int、double、bool、char、decimal、struct、enum
常用引用类型:string、自定义类、数组
1.值类型存储图解:
2.引用类型-字符串存储图解:
3.引用类型-自定义类存储图解:
引用类型存储总结:
引用类型的对象存储在堆中,并且会分配一个内存地址。该内存地址会存储到栈空间,栈空间名为变量名。
即读取引用类型对象的顺序:变量—>内存地址—>实例对象。
知识改变命运