본문 바로가기
Develop/C

15 C언어 배열의 확장!(다차원)

by 구운밤이다 2016. 7. 7.
728x90
반응형

2016/07/06 - [컴퓨터/C언어] - 14-3 C언어 포인터의 완성!!

오늘은 1차원 배열을 확장해서 다차원 배열을 배워보도록 하겠습니다!! 다차원 배열은 제한없이 4 5 차원까지 선언할 수 있는데요 보통 2, 3 차원이상은 사용하지 않죠 그럼 2차원 배열부터 알아보도록 하겠습니다!! 먼저 2차원 배열의 구조를 알아보도록 하겠습니다! 먼저 선언하는 법!


int arr[5][4];

이런 식으로 선언합니다!! 그럼 이건 어떻게 생겼을까요?

arr[0][0]

arr[0][1]

 arr[0][2] 

arr[1][0] 

 arr[1][1] 

arr[1][2]

arr[2][0] 

arr[2][1] 

 arr[2][2] 

arr[3][0]

arr[3][1] 

arr[3][2] 


이렇게 고등학교 때 배웠던 행렬을 떠올리시면 됩니다 그리고 행렬의 첫 행과 열은 그냥 배열처럼 0으로 시작해요 그럼 초기화 하는 법을 알려드리도록 하겠습니다! 초기화 방법에는 크게 3가지가 있습니다!

2차원 배열 선언 - 1



int arr[3][3]={

    {1,2,3},

    {4,5,6},

    {7,8,9}

}

이렇게 하는 방법이에요!


int arr[3][3]={

    {1},

    {4,5},

    {7,8}

}

그리고 이렇게 하면 첫 행엔 1, 0, 0 이 들어가고 두 번째 행엔 2, 3, 0이 세 번째 행엔 4, 5, 0이 채워져요!


2차원 배열 선언 - 2


int arr[3][3]={

    1,2,3

    4,5,6

    7

}

이건 1, 2, 3, 4, 5, 6, 7, 0, 0 으로 찍히겠죠? 그냥 1차원 배열 선언하는 것과 똑같아요!




2차원 배열 선언 - 3


마지막 3번째는 포문을 중첩시켜서 배열을 초기화하는 거에요 보통 이 방법을 제일 많이 씁니다!


int main(){

    int arr[5][4];

    

    for(int i=0; i<5; i++){

        for(int j=0; j<4; j++){

            arr[i][j]=(i+1)*(j+1);

        }

    }

    

    for(int i=0; i<5; i++){

        for(int j=0;j<4; j++){

            printf("%3d", arr[i][j]);

        }

        printf("\n");

    }

}

이렇게 생겼습니다 이걸 실행하면


이런 결과가 나와요! 


3차원 배열


그럼 3차원 배열을 알아보죠 3차원배열은 2차원 배열인 행렬이 겹으로  쌓여있는 느낌입니다!


int arr[3][4][5];

이런 식이면 4행5열인 행렬이  3개 쌓여있다고 보시면 되요!!


모르는 것은 댓글이나 쪽지로 남겨주시면 성심 성의껏 답변해드리겠습니다!! 댓글공감구독(이웃추가)는 블로거에게 큰 힘이 됩니다! 부탁드리면서 이번 포스팅을 마치도록 하겠습니다! 지금까지 딘또였습니다

728x90
반응형

댓글