值类型 和 引用类型的 区别
发布网友
发布时间:2022-10-12 05:32
我来回答
共3个回答
热心网友
时间:2023-10-18 20:18
(1)值类型:数据存储在内存的堆栈中,从堆栈中可以快速地访问这些数据,因此,值类型表示实际的数据。
(2)引用类型:对象、数组、函数。1、值类型:包括:sbyte、short、int、long、float、double、decimal(以上值类型有符号)byte、ushort、uint、ulong(以上值类型无符号)bool、char
2、引用类型:包括:对象类型、动态类型、字符串类型。二、具体区别:
1、值类型:byteb1=1;byteb2=b1;Console.WriteLine("{0},{1}。",b1,b2);b2=
2;Console.WriteLine("{0},{1}。",b1,b2);Console.ReadKey();解释:byteb1=1;声明b1时,在栈内开辟一个内存空间保存b1的值1。byteb2=b1;声明b2时,在栈内开辟一个内存空间保存b1赋给b2的值1。Console.WriteLine("{0},{1}。",b1,b2);输出结果为1,1。b2=2;将b2在栈中保存的值1改为
2。Console.WriteLine("{0},{1}。",b1,b2);输出结果为1,2。
2、引用类型:复制代码。
热心网友
时间:2023-10-18 20:18
简单地说,值类型就是普通的像int a = 1; char c = 't';这种类型。而引用就是一个别名,他们都指向同一快内存,int &r = a;引用在声明时必须赋值。
打个比方,应用就是你的小名,叫你名字(值类型)是你,叫你小名(引用)还是你。在有些函数参数传递中,传引用的效率要高于传值。
热心网友
时间:2023-10-18 20:19
引用类型一般应用在函数方面。
普通函数
void func(int m){
...
}
使用时
int i = 1;
func(i)//将复制一份变量的副本
引用
void func(const int &m){
...
}
func(i)
这时func的形参是实参i的引用,相当于m是i的另一个名字。将不会复制副本。