Unity 3D游戏开发 - C#语法基础 | 数组之内存结构

值类型与引用类型

  • 值类型
    • int float double bool char 都是值类型
    • 值类型的值存储在内存的栈中
    • int 类型间变量传值
      • int a = 10; int b = a;
      • 此时单独修改b的值,a的值不会改变,这种传递叫值传递
    • 这时变量传递是拷贝一个具体的值给对方。
  • 引用类型
    • 数组 字符串
    • 引用类型的值存储在内存的堆中
    • int 类型数组间变量传值
      • 此时单独修改intB中元素的值,intA的值也会改变,这种传递叫引用传递。 

                    int[] intA = new int[] { 111, 222, 333, 444 };
                    int[] intB = intA;
        
                    intB[0] = 100;
        
                    foreach(int i in intA)
                    {
                        Console.WriteLine(i);
                    }
        
                    Console.WriteLine("-----------------------------");
        
                    foreach(int j in intB)
                    {
                        Console.WriteLine(j);
                    }
        
                    Console.ReadKey();
    • 这时变量传递是拷贝一个地址给对方。

数组的内存结构

  • 数组在内存中是一块连续的存储空间存储的。
  • 最低的地址对应第一个元素,最高的地址对应最后一个元素。

猜你喜欢

转载自blog.csdn.net/weixin_41232641/article/details/81976336