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개 쌓여있다고 보시면 되요!!
모르는 것은 댓글이나 쪽지로 남겨주시면 성심 성의껏 답변해드리겠습니다!! 댓글, 공감, 구독(이웃추가)는 블로거에게 큰 힘이 됩니다! 부탁드리면서 이번 포스팅을 마치도록 하겠습니다! 지금까지 딘또였습니다
'Develop > C' 카테고리의 다른 글
16-2 포인터의 확장[함수 & void 포인터]! (0) | 2016.07.13 |
---|---|
16-1 C언어 포인터의 확장 [이중 포인터]! (0) | 2016.07.09 |
14-3 C언어 포인터의 완성!! (0) | 2016.07.06 |
14-2 C 언어의 배열 & 포인터의 관계! (0) | 2016.07.06 |
14-1 C언어의 포인터! (0) | 2016.07.06 |
댓글