이차원 배열의 개념
•
이차원 배열 메모리를 다루기 위한 개념
행 > 열
열 : 배열 원소
행 : 배월 원소의 집합
•
개념
◦
이차원 배열은 일차원 배열 이다.
이차원 배열
•
형식
◦
이차원 배열
데이터형 배열명[행의 개수][열의 개수]
int array[3][7];
•
이차원 배열 선언과 초기화
int array[2][3] = {{1, 2, 3}, {4, 5, 6}}; 이 표현을 많이 쓴다.
int array[][3] = {{1, 2, 3}, {4, 5, 6}}; 반드시 행에 대한 부분만 생략을 할 수 있다.
int array[2][3] = {1, 2, 3, 4, 5, 6};
int array[2][3] = {0, };
•
이차원 배열의 사용
int array[2][3] ={1, 2, 3, 4, 5, 6};
int nCount = array[1][2];
이차원 배열의 초기화
•
memset 사용
int array[2][3];
mamset(array, -1, sizeof(array));
이차원 배열의 크기
•
int array[2][3];
sizeof(array); // 배열의 전체 크기
sizeof(array[0]); // 첫번째 행에 대한 열의 값을 리턴
sizeof(array[0]) / sizeof(int); // 열의 개수
sizeof(array) / sizeof(array[0]); // 행의 개수
이차원 배열을 함수로 전달
•
형식
#include <stdio.h>
void add(int var[][3]){ // 열의 대한 인덱스는 명시해줘야함
int i, j;
for(i = 0; i < 2; i++){
for(j - 0; j < 3; j++){
var[i][j]++;
}
}
}
int main(void){
int i, j;
int array[2][3] = {1, 2, 3, 4, 5, 6};
add(array);
for(i = 0; i < 2; i++){
for(j = 0; j < 3; j++){
printf("%2d", array[i][j]);
}
printf("\n");
}
return 0;
}
C
복사