개인노트
[C언어] 2차원배열을 함수의 인자로 전달하기 본문
1차원 배열을 함수의 인자로 전달하는 방법은 다음과 같았다.
int * arr; or int arr[];
2차원 배열을 함수의 인자로 전달하는 방법은 다음과 같다.
int (*arr)[3]; or int arr[][3];
2차원 배열을 함수의 인자로 전달하기 예제.c |
#include <stdio.h> #include "stdlib.h" void ShowArr2DStyle(int(*arr)[4], int column) { int i, j; for (i = 0; i < column; i++) { for (j = 0; j < 4; j++) { printf("%d", arr[i][j]); } printf("\n"); } } int Sum2DArr(int arr[][4], int column) { int i, j, sum = 0; for (i = 0; i < column; i++) { for (j = 0; j < 4; j++) { sum += arr[i][j]; } } return sum; } int main(void) { int arr1[2][4] = { 1,2,3,4,5,6,7,8 }; int arr2[3][4] = { 1,1,1,1,3,3,3,3,5,5,5,5 }; ShowArr2DStyle(arr1, sizeof(arr1) / sizeof(arr1[0])); ShowArr2DStyle(arr2, sizeof(arr2) / sizeof(arr2[0])); printf("arr1의 총 합 : %d\n", Sum2DArr(arr1, sizeof(arr1) / sizeof(arr1[0]))); printf("arr2의 총 합 : %d\n", Sum2DArr(arr2, sizeof(arr2) / sizeof(arr2[0]))); system("pause"); } |
'C > 문법' 카테고리의 다른 글
[C언어] 함수 포인터 변수와 void 포인터 (0) | 2017.07.07 |
---|---|
[C언어] 2차원 배열의 arr[i] = *(arr+i) 공식 (0) | 2017.07.06 |
[C언어] 포인터 배열과 배열 포인터의 차이점 (0) | 2017.07.06 |
[C언어] 2차원 배열의 포인터변수 선언 (0) | 2017.07.05 |
[C언어] 2차원 배열의 포인터 연산(증가감소) (0) | 2017.07.05 |