-
25장. 함수 중심의 포인터 활용, 메모리의 동적 할당) 문제 25-2 [문제 24-5 다시 풀기]IT/솔루션) 난 정말C... 없다구요 2019. 4. 18. 18:23
<2016. 9. 26. 21:20>
25장. 함수 중심의 포인터 활용, 메모리의 동적 할당) 문제 25-2 [문제 24-5 다시 풀기]
/* typedef의 다양한 선언 방식을 통해 문제 24-5를 다시 풀어보자. 가장 문제가 되었던 것은 2차원 배열의 주소 값을 반환하는 함수의 정의 방법이었는데, typedef 선언을 이용하면 2차원 배열의 주소 값에 해당하는 반환형을 정의하는 것이 가능하다. */ #include<stdio.h> #include<stdlib.h> typedef int(*inarr3)[3]; // int CompareArr(int(*arr1)[3], int(*arr2)[3]); int CompareArr(inarr3 arr1, inarr3 arr2); int main(void) { int arr1[3][3] = { { 3,2,1 } , { 6,7,2 } , { 5,1,9 } } ; int arr2[3][3] = { { 1,2,3 } , { 4,5,6 } , { 7,8,9 } } ; inarr3 resultarr; int i, j; resultarr = CompareArr(arr1, arr2); for (i = 0; i < 3; i++) { for (j = 0; j < 3; j++) { printf("%4d", resultarr[i][j]); } printf("\n"); } system("pause"); return 0; } int CompareArr(inarr3 arr1, inarr3 arr2) { int i, j; int sum1 = 0, sum2 = 0; for (i = 0; i < 3; i++) { for (j = 0; j < 3; j++) { sum1 += arr1[i][j]; } } printf("arr1의 총합은 %d \n", sum1); for (i = 0; i < 3; i++) { for (j = 0; j < 3; j++) { sum2 += arr2[i][j]; } } printf("arr2의 총합은 %d \n", sum2); if (sum1 >= sum2) return arr1; else return arr2; }
'IT > 솔루션) 난 정말C... 없다구요' 카테고리의 다른 글
25장. 함수 중심의 포인터 활용, 메모리의 동적 할당) 문제 25-1 [Call By Reference 형태의 함수 정의] - 2 (0) 2019.04.18 25장. 함수 중심의 포인터 활용, 메모리의 동적 할당) 문제 25-1 [Call By Reference 형태의 함수 정의] - 1 (0) 2019.04.18 24장. 배열과 포인터, 포인터 연산) 문제 24-5 [2차원 배열 포인터의 선언과 활용] (0) 2019.04.18 24장. 배열과 포인터, 포인터 연산) 문제 24-4 [지역변수 및 함수의 주소 값 반환] - 2 (0) 2019.04.18 24장. 배열과 포인터, 포인터 연산) 문제 24-4 [지역변수 및 함수의 주소 값 반환] - 1 (0) 2019.04.18