C# 배열

m._.jooong·2023년 2월 28일
0

Unity C#

목록 보기
9/22
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

// 배열
// 같은 데이터형 변수들의 집합


public class Test_2 : MonoBehaviour
{
    // 유니티에서 배열을 멤버 변수로 사용하는 2가지 방법
    int[] m_Crr = new int[5];   // 멤버 배열 변수 1번째 사용 예
    public int[] Brr;           // 멤버 배열 변수 2번째 사용 예

    // Value Type의 변수       : int. float, double, ..., struct(구조체) 객체
    // Reference Type의 변수   : 배열, class 객체

    // Start is called before the first frame update
    void Start()
    {
        //int AA1 = 0;
        //int AA2 = 0;
        //int AA3 = 0;

        //int[] arr = new int[100];       // C# 배열 변수 선언

        //int[] arr = new int[5];
        //arr[0] = 10;
        //arr[1] = 11;
        //arr[2] = 22;
        //arr[3] = 33;
        //arr[4] = 44;
        ////arr[5] = 55;                  // 잠재적 에러의 원인

        //for(int ii = 0; ii < 5; ii++)
        //{
        //    Debug.Log(arr[ii]);
        //}
        //Debug.Log("arr 크기 : " + arr.Length);

        //// 멤버 배열 변수 1번째 방법
        //m_Crr[0] = 11;
        //m_Crr[1] = 12;
        //m_Crr[2] = 13;
        //m_Crr[3] = 14;
        //m_Crr[4] = 15;
        //for (int ii = 0; ii < m_Crr.Length; ii++)
        //{
        //    Debug.Log("m_Crr[" + ii + "] : " + m_Crr[ii]);
        //}

        //// 멤버 배열 변수 2번째 방법
        //for (int ii = 0; ii < Brr.Length; ii++) 
        //{
        //    Debug.Log("Brr [" + ii + "] : " + Brr[ii]);
        //}

        //float[] fArr = new float[3];
        //fArr[0] = 1.34f;
        //fArr[1] = 1.234234234f;
        //fArr[2] = 342.3f;
        //for(int ii = 0; ii < fArr.Length; ii++)
        //{
        //    Debug.Log("fArr[" + ii + "]" + fArr[ii]);
        //}

        //// 명시적 선언
        //int[] a_AAA = new int[10];
        //for(int ii = 0; ii < a_AAA.Length; ii++)    // 유니티에선 배열을 선언 후 초기값을 주지 않으면 0으로 초기화 한다.
        //{
        //    Debug.Log(a_AAA[ii]);
        //}
        //int[] a_BBB;
        //a_BBB = new int[10];
        //a_BBB[0] = 11;

        //// 암시적 선언
        //int[] a_CCC = { 10, 20, 30, 40, 50, 60 };
        //for(int ii = 0; ii <a_CCC.Length; ii++)
        //{
        //    Debug.Log("a_CCC [" + ii + "] : " + a_CCC[ii]);
        //}
        //int[] a_xxx;
        //a_xxx= { 10, 11, 22, 33, 44};
        // 암시적 선언은 선언과 동시에 초기화 해야 한다.

        //// 명시적 선언 + 암시적 선언
        //int[] a_EEE = new int[] { 10, 20, 30, 40, 50, 60 };
        //int[] a_FFF;
        //a_FFF = new int[] { 10, 20, 30, 40, 50, 60 };
        //for(int ii = 0; ii < a_FFF.Length; ii++)
        //{
        //    Debug.Log(a_FFF[ii]);
        //}

        // C#에서 배열은 레퍼런스 타입이다.
        int AAAA = 1000;
        int BBBB = AAAA; // 일반변수들은 Value Type이다.
        BBBB = 99;
        Debug.Log("AAAA = " + AAAA + "\n BBBB = " + BBBB);  //1000 , 99
        
        int[] CCCC = { 1000 };
        int[] DDDD = CCCC;      // 배열변수는 Reference Type이다.
        int[] EEEE = CCCC;
        DDDD[0] = 99;
        Debug.Log("cccc[0] : " + CCCC[0] + ", DDDD[0] : " + DDDD[0] + ", EEEE[0] : " + EEEE[0]);      // 99, 99, 99

        int[] ZZZ = new int[3];
        ZZZ[0] = 10;
        ZZZ[1] = 11;
        ZZZ[2] = 22;

        ZZZ = new int[5];
        ZZZ[3] = 999;
        ZZZ[4] = 9999;
        for(int iii = 0; iii < ZZZ.Length; iii++)
        {
            Debug.Log("zzz [" + iii + "] : " + ZZZ[iii]);
        }

    }//void Start()

    // Update is called once per frame
    void Update()
    {
        
    }
}

0개의 댓글