728x90
반응형
안녕하세요. 스마트팩토리입니다.
c 언어[029] 2차원 배열 형식과 구조 및 출력 에 대해 알아보겠습니다.
1. 이차원 배열
가. 이차원 배열의 형식과 구조
2차원 배열의 형식
- [형식]= 2차원 배열의 선언
-자료형 배열명[행의 개수][열의 개수];
행의 개수- 2차원 배열의 가로줄의 객수, 행의 번호입니다.
열의 개수 - 2차원 배열의 제로줄의 개수, 열의 번호입니다.
실제 메모리 저장 순서는 아래와 같습니다.
메모리에 저장되는 순서는 위 처럼 가로로 일렬인 것 처럼 저정이 됩니다. 하지만 우리가 생각할때는 행과 열로 구성된 것처럼 이해해도 됩니다. 이는 배열의 주소를 일렬로 늘여놓은 것과 같기 때문에 구분하여 놓아도 결과적으로 같게 됩니다.
나. 이차원 배열 예
이차원 배열로 3행 4열로 된 데이터를 구성하였습니다.
int arr[3][4] = { {1,2,3,4},{5,6,7,8},{9,10,11,12} };
이를 출력해 보면
처음에는 줄바꿈이 있느냐 없느냐 차이입니다.
출력된 값을 보면 줄바꿈만 해줘도 우리가 행과 열을 생각하는데로 출력을 할 수 있는 것을 볼 수 있습니다.
#include<stdio.h>
void main() {
int arr[3][4] = { {1,2,3,4},{5,6,7,8},{9,10,11,12} };
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 4; j++) {
printf(" %d", arr[i][j]);
}
}
printf("\n");
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 4; j++) {
printf("\t %d", arr[i][j]);
}
printf("\n");
}
}
배열값에 해당하는 인덱스를 찍어보면 바로 알 수 있습니다.
결과적으로 이해를 할때 행과 열로 이해해도 큰 문제가 없다는 것을 알 수 있습니다.
#include<stdio.h>
void main() {
int arr[3][4] = { {1,2,3,4},{5,6,7,8},{9,10,11,12} };
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 4; j++) {
printf(" %d", arr[i][j]);
}
}
printf("\n");
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 4; j++) {
printf("\t %d", arr[i][j]);
}
printf("\n");
}
printf("arr[0][0]: %d\n", arr[0][0]);
printf("arr[0][1]: %d\n", arr[0][1]);
printf("arr[0][2]: %d\n", arr[0][2]);
printf("arr[0][3]: %d\n", arr[0][3]);
printf("arr[1][0]: %d\n", arr[1][0]);
printf("arr[1][1]: %d\n", arr[1][1]);
printf("arr[1][2]: %d\n", arr[1][2]);
printf("arr[1][3]: %d\n", arr[1][3]);
printf("arr[2][0]: %d\n", arr[2][0]);
printf("arr[2][1]: %d\n", arr[2][1]);
printf("arr[2][2]: %d\n", arr[2][2]);
printf("arr[2][3]: %d\n", arr[2][3]);
}
728x90
반응형
'C 언어' 카테고리의 다른 글
c 언어[030] 2차원 배열 크기 sizeof 에 대한 이해 &arr[0], &arr[0[0],&arr 주소값의 이해 (0) | 2021.10.11 |
---|---|
c 언어[028] 배열(array)과 포인터( pointer)- 포인터 배열 (0) | 2021.10.07 |
c 언어[027] 배열(array)과 포인터( pointer) (0) | 2021.10.06 |
c 언어[026] 문자열과 배열(3) strcpy:문자열 복사, strcat(문자열 추가), 문자열 초기화 (0) | 2021.10.05 |
c 언어[025] 문자열과 배열(2) strlen 문자열크기, 배열크기 (0) | 2021.10.04 |
댓글