글
이번 시간에는, 2 차원 배열을 함수의 인자 (매개변수) 로 전달하는 방법에 대해서 알아보겠습니다. 그 중에서도, int 형 배열에 대해서 알아보겠습니다. (다른 자료형들도 마찬가지 원리이기 때문입니다.)
#include <stdio.h> #define ARR_ROW_SIZE 3 #define ARR_COL_SIZE 4 void PrintArray(int(*arr)[ARR_COL_SIZE], int row, int col); int main(int argc, char* argv[]){ int arr[ARR_ROW_SIZE][ARR_COL_SIZE] = { {1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12} }; PrintArray(arr, ARR_ROW_SIZE, ARR_COL_SIZE); return 0; } void PrintArray(int(*arr)[ARR_COL_SIZE], int row, int col){ int i; int j; for (i = 0; i < row; i++){ for (j = 0; j < col; j++){ printf("%d ", arr[i][j]); } printf("\n"); } }
3 ~ 4 라인
2 차원 배열의 가로, 세로 크기를 상수화 합니다.
6 라인
추후 사용될 함수의 선언부입니다.
9 ~ 13 라인
int 형 2 차원 배열을 선언한 뒤, 동시에 정수들로 초기화하고 있습니다.
14 라인
PrintArray 함수를 호출하면서, 2 차원 배열, 2 차원 배열의 행 개수와 열 개수를 매개변수로 넘기고 있습니다.
18 라인
PrintArray 함수의 정의부입니다. 매개변수로 2 차원 배열, 행 개수, 열 개수를 받아서, 2 차원 배열의 전체 요소들을 화면에 출력하는 역할을 합니다.
2 차원 배열을 함수의 매개변수로 넘길 때는, 2 차원 배열명을 그대로 넘기고 (행과 열은 필수는 아님), 함수의 정의부에서는, 2 차원 배열 포인터의 형태로 받습니다.
즉 2 차원 배열을 함수의 매개변수로 선언할 때는, "배열 요소의 자료형 (*배열명)[배열의 열 개수]" 의 형태로 선언합니다.
21 ~ 26 라인
행 개수와 열 개수를 이용하여, 배열을 전체 돌면서, 하나하나씩 배열의 요소를 화면에 출력합니다.
[실행 결과]
'1.1) 실습' 카테고리의 다른 글
2 차원 배열의 행 개수와 열 개수 구하기 (0) | 2017.05.22 |
---|---|
1 차원 배열 요소의 개수 구하기 (0) | 2017.05.22 |
2 차원 배열을 함수에서 반환하기 (6) | 2015.08.02 |
정수 배열에서 중복 값 (요소) 제거하기 (2) - O(nlogn) (0) | 2015.06.08 |
정수 배열에서 중복 값 (요소) 제거하기 (1) - O(n2) (5) | 2015.06.08 |
1 초에 한 번씩 데이터 출력하기 (0) | 2015.06.08 |
프로그램 강제로 종료시키기 (0) | 2015.06.08 |
콘솔 화면 지우기 (6) | 2015.06.08 |
소리 및 음악 재생하기 (1) - WinApi (4) | 2015.05.25 |
의사 난수 (랜덤 숫자) 생성하기 (0) | 2015.05.17 |
RECENT COMMENT