본문 바로가기
카테고리 없음

[코딩일기] C# 다차원 배열(단순 배열, 2차원 배열, 가변 배열)

by mania2321 2024. 7. 3.

// 배열

using System.Collections;
using System.Collections.Generic;
using Unity.VisualScripting;
using UnityEngine;


public class HelloWorld : MonoBehaviour
{
    void Start()
    {
        int[] a = new int[5]; /*<- 'new int[5]'부분 생략해도 됨. 메모리 공간만을 정의할 때는 입력해줘야 됨*/ //{ 1, 2, 3, 4, 5 };       // a 라는 배열. 5개의 저장공간을 초기화 한 것. a[0], a[1], a[2], a[3], a[4]

        for (int i = 0; i < 5; i++)
        {
            a[i] = i * 3;
        }

        for (int i = 0; i < 5; i++)
        {
            Debug.Log(a[i]);
        }
    }
}

 

// 배열의 차원이 높아질수록 코드 읽기가 굉장히 불편함. 보통 2차원 배열에서 끝남. 3차원 배열 잘 안씀.

============================================================

// 2차원 배열

 

using System;
using System.Collections;
using System.Collections.Generic;
using Unity.VisualScripting;
using UnityEngine;


public class HelloWorld : MonoBehaviour
{
    void Start()
    {
        int[,] a = new int[4,6];        // 가로 6개, 세로 4개인 메모리 공간

        for(int i = 0; i < 4; i++)
        {
            for(int j = 0; j < 6; j++)
            {
                a[i, j] = i * 6 + j;
            }
        }

        for(int i = 0; i < 4; i++)
        {
            for(int j = 0; j < 6; j++)
            {
                Debug.Log("i" + i + ", j" + j + " = " + a[i,j]);
            }
        }
    }
}

 

============================================================

// 가변 배열

using System;
using System.Collections;
using System.Collections.Generic;
using Unity.VisualScripting;
using UnityEngine;


public class HelloWorld : MonoBehaviour
{
    void Start()
    {
        // 가변 배열
        int[][] a = new int[3][];

        a[0] = new int[3] { 0, 1, 2 };              // 2를 불러오고 싶다? a[0][2]
        a[1] = new int[5] { 4, 6, 7, 5, 1 };        // 5를 불러오고 싶다? a[1][3]
        a[2] = new int[4] { 3, 7, 9, 10 };          // 10을 불러오고 싶다? a[2][3]
    }
}

댓글