2D Array
Two-Dimensional Array
2D Array declaration: datatype arr[ROWS][COLS]
int arr[n][m];각각의 배열 공간 안에 지정한 data type의 변수들을 저장할 수 있음
const int ROWS = 2, COLS = 2; int arr[ROWS][COLS] = { {83, 79}, {43, 92} };
2D Array as Parameter & Argument
for 반복문을 이용해 행과 열을 반복적으로 받음
for(int i=0; i<n; i++){ for(int j=0; j<m; j++){ cin >> arr[i][j]; } }2D array를 매개변수로 보내는 법
getarray(arr, 2); //함수를 호출할 때는 그냥 arr이 보냄 //Prototype void getarray(int [][COLS], int); //Header void getarray(int arr[][COLS], int row);Row-major memory layout 사용
row-major: the elements of row are contiguous (row의 오름차순으로 정렬)
ex) arr[0][0], arr[0][1], arr[0][2], arr[1][0], arr[1][1], arr[1][2], arr[2][0]…
Symbol and address
- arr를 호출하면 첫번째 element를 반환 ex) myarr[0][0]
- arr[i]를 호출하면 i-th의 첫번째 element를 반환
(RGB image는 3D Array임)