ABOUT ME

https://github.com/chongin12 chongin12@naver.com

Today
Yesterday
Total
  • (C언어) 9. 다차원 배열
    C언어 문서화 2016. 3. 27. 01:58
    반응형

    [배열]


    1. 다차원 배열?

    다차원 배열은 이론적으로는 4차원, 5차원, 6차원 , ... ,N차원까지 가능하지만, 솔직히 3, 4차원까지는 논리적으로 이해할 수 있지만, 5차원부터는 거의 불가능하다고 볼 수 있다. 그래서 흔히 다차원 배열이라고 말 할때는, 1차원, 2차원, 3차원 배열까지를 말한다고 보면 된다.

    2. 배열 이해법

    C언어를 처음 입문했을 때, 필자는 이렇게 이해했다.:

    <1: 변수 : 그냥 변수 1개.//(도형에서의)점_기본단위

    <2: 일차원 배열 : 변수 여러개가 모여서 이루는 배열.//(도형에서의)선_점들이 모여서 생김

    <3: 이차원 배열 : 일차원 배열 여러개가 모여서 이루는 배열.//(도형에서의)면_선들이 모여서 생김

    <4: 삼차원 배열 : 이차원 배열 여러개가 모여서 이루는 배열.//(도형에서의)입체_면들이 모여서 생김

    (<5: 사차원 배열 :삼차원 배열 여러개가 모여서 이루는 배열.//시공간_공간에 시간개념이 추가됨.)


    3. 초기화_일차원배열

    일차원 배열은 다음과 같이 초기화한다.

    1
    int arr[5]={12345};
    cs


    4. 초기화_이차원배열

    이차원 배열은 다음과 같이 초기화한다.

    1
    int arr[2][3]={{1,2,3},{4,5,6}};
    cs

    또는 이렇게도 초기화 할 수 있다.

    1
    2
    3
    4
    int arr[2][3]={
            {1,2,3},
            {4,5,6}
        };
    cs

    이런식으로 초기화 한다면, 보기가 매우 편하다. 따라서 이런 예제에 쓰인다.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    #include <stdio.h>
     
    int main(){
        int arr[10][10]={
            { 0100000100 },
            { 0100000000 },
            { 0100000000 },
            { 0100000000 },
            { 0100000100 },
            { 0111100100 },
            { 0100100100 },
            { 0100100100 },
            { 0100100100 },
            { 0100100100 },
        };
        int i, j;
     
        for (i = 0; i < 10++i){
            for (j = 0; j < 10++j){
                if (arr[i][j] == 0)
                    printf(" ");
                else
                    printf("*");
            }
            printf("\n");
        }
    }
    cs

    그렇다. 단순 노가다 프로그램을 짤 때 많이 사용한다.


    5. 초기화_삼차원배열

    삼차원 배열은 이렇게 초기화한다.

    1
    int arr[2][3][2= { {{12},{34},{56}},{{78},{910},{1112}} };
    cs

    이렇게도 초기화 할 수 있다.

    1
    2
    3
    4
    5
    6
    7
    8
    int arr[2][3][2= { //(1)
            {//(2)
                {12},{34},{56}//(3)
            },//(2)
            {//(2)
                {78},{910},{1112}//(3)
            }//(2)
        };//(1)
    cs

    삼차원 배열부터는 초기화식을 한줄로 쓰는 것보다 여러줄에 나눠서 쓰는 것이 한눈에 보기 편하기 때문에 대부분 두번째 방법으로 쓴다.


    >>일차원, 이차원 배열에 대해서는 앞의 포스트에서 설명을 해놓았다.

    반응형

    'C언어 문서화' 카테고리의 다른 글

    (C언어) 11. 문자열(심화)  (0) 2016.04.06
    (C언어) 10. 포인터_1  (0) 2016.03.28
    (C언어) 8. 정렬 방식  (0) 2016.03.25
    (C언어) 7. 함수  (0) 2016.03.25
    (C언어) 6. 이진탐색  (0) 2016.03.25

    댓글

Designed by Tistory.