首页 > 其他分享 >值类型与引用类型

值类型与引用类型

时间:2023-11-13 09:26:23浏览次数:31  
标签:存储 接口 引用 数组 类型 数据

值类型和引用类型

类型被分为两种:

值类型(整数,bool struct char ⼩数)和引⽤类型(string 数组 ⾃定义的 类,内置的类)。 值类型只需要⼀段单独的内存,⽤于存储实际的数据,(单独定义的时候放在栈中),默认值是0

引⽤类型需要两段内存 第⼀段存储实际的数据,它总是位于堆中,第⼆段是⼀个引⽤,指向数据在堆中的存放位置,默认值是null

注意: 当我们使⽤引⽤类型赋值的 时候,其实是赋值的引⽤类型的引⽤ 如果数组是⼀个值类型的数组,那么数组中直接存储值,如果是⼀个引⽤类型的数组(数 组中存储的是引⽤类型),那么数组中存储的是引⽤(内存地址)

值类型与引用类型的区别

同: 引用类型可以实现接口,值类型当中的结构体也可以实现接口 引用类型和值类型都继承自System.Object类

异: 值类型的变量直接存储数据在栈中,而引用类型的变量栈中持有的是数据的引用,数据存储在数据堆中 引用类型:class、string(特殊)、委托、接口、数组、object 值类型:整型、浮点型、布尔型、结构体、枚举

 

标签:存储,接口,引用,数组,类型,数据
From: https://www.cnblogs.com/zerobeyond/p/17828429.html

相关文章

  • C#各数据类型范围
    类型    范围   大小sbyte -128 到 127  有符号 8 位整数byte 0到255    ......
  • 基本数据类型
    基本数据类型int,整数str,字符串,一般不存放大量数据bool,布尔值,用来判断,Ture,False。list,列表,用来存放大量数据,【】表示。tuple,元组,只读列表,()表示·dict字典,{key:vaule}set集合,不重复用{}表示......
  • 字符类型
    <1>字符类型(1)对char的了解:char既是一种整数,也是一种特殊的类型:字符.——————原因:char是一种用单引号表示的字符字面量:'a','1';注意:1.''也是一个字符;2.scanf与printf中用%c输入输出;<2>字符的输入输出举例(1)以一段代码为例分析1与'1'是否相等:#include<stdio.h>int......
  • rust 程序设计笔记(2)所有权 & 引用
    所有权数据存储在栈和堆上,存放在栈上的数据都是已知所占据空间的突然的问题//内存中的栈是怎么存储数据的?好的,想象一下你有一摞盘子。你只能从上面放盘子,也只能从上面拿盘子,这就是栈的工作方式。在内存中,栈是用来存储数据的地方,它工作得就像这摞盘子。当你的程序运行......
  • 浮点类型(double与float及其它们的输入输出)
    <1>浮点类型(1)两种类型double字长64位(8个字节),有效数字15,范围大概为2.2*10^-308~1.79*10^308,0,nan;float字长32位(4个字节),有效数字7,范围大概为1.2*10^-38~3.4*10^38,0,nan;————注明-nan:不是一个有效数字由两种浮点类型的范围建立数轴可知:在靠近0但不包括0的一小片区......
  • redis 类型Set增删查改效率
    Redis的Set数据类型是一种无序集合,它可以包含多个不重复的元素。以下是关于RedisSet类型的增删查改操作的效率说明:1.增加元素:添加单个元素(SADD命令)的时间复杂度是O(1),可以在常数时间内完成。批量添加多个元素(SADD命令)的时间复杂度也是O(1),因为它们一次性完成。2.删除元素:删除......
  • redis 类型Set增删查改效率
    Redis的Set数据类型是一种无序集合,它可以包含多个不重复的元素。以下是关于RedisSet类型的增删查改操作的效率说明:1.增加元素:添加单个元素(SADD命令)的时间复杂度是O(1),可以在常数时间内完成。批量添加多个元素(SADD命令)的时间复杂度也是O(1),因为它们一次性完成。2.删除元素:删除......
  • 整数的类型(4)整数的格式化及整数类型选择
    <1>整数的输入和输出(1)只有两种形式int或longlong%d:int;%u:unsigned;%ld:longlong;%lu:unsignedlonglong;举例:通过一段代码输出整数为unsigned的结果#include<stdio.h>intmain(){inti=-1;charc=-1;printf("i=%u,c=%u",i,c);return0;}输出结果为i=4294......
  • 数据类型BigDecimal数值的显示问题
    DECIMAL从MySQL5.1引入,在mysql中,金额用“DECIMAL”类型。DECIMAL类型是专门为财务相关问题而设计的数据类型,能够解决数据的范围和精度的问题,常用于货币数据,如价格,工资,帐户余额等;它实际上是以字符串的形式存放的,可在定义时划定整数部分以及小数部分的位数,语法“DECIMAL(M,D)”,参数M......
  • 无涯教程-Dart - 数据类型
    编程语言的最基本特征之一是它支持的数据类型集。Dart语言支持以下类型-number  数字类型Strings   字符串类型Booleans布尔类型Lists     列表类型Maps    映射类型number数字类型Dart中的数字用于表示数字。Integer   - 整数值表......