Minwoo Dev.

<윤성우의 열혈 C프로그래밍> :: 17.포인터의 포인터 문제풀이 본문

C++

<윤성우의 열혈 C프로그래밍> :: 17.포인터의 포인터 문제풀이

itisminu 2023. 9. 5. 22:55
728x90
반응형
SMALL

문제 17-1

다음과 같이 두 개의 int 형 포인터 변수와 길이가 5인 int 형 배열을 선언한다.

int *maxPtr;
int *minPtr;
int arr[5];

그리고 MaxAndMin이란 이름의 함수를 정의하고 이를 호출하면서 위의 배열과 두 포인터 변수에 대한 정보를 저장하자. 어떠한 정보를 어떻게 전달할지는 여러분이 결정할 몫이다. 그리고 함수호출이 완료되면, 포인터 변수 maxPtr에는 가장 큰 값이 저장된 배열요소의 주소 값이, minPtr에는 가장 작은 값이 저장된 배열요소의 주소 값이 저장되어야 한다.

 

#include<stdio.h>

void MaxAndMin(int *arr, int **maxPtr, int **minPtr)
{
    int *max;
    int *min;
    max = &arr[0];
    min = &arr[0];
    for(int i=0;i<5;i++){
        if(arr[i]>*max){
            max = &arr[i];
        }
        if(arr[i]<*min){
            min = &arr[i];
        }
    }
    *maxPtr = max;
    *minPtr = min;
}

int main(void)
{
    int *maxPtr;
    int *minPtr;
    int arr[5];

    for(int i=0;i<5;i++){
        scanf("%d",&arr[i]);
    }

    MaxAndMin(arr,&maxPtr,&minPtr);
    
    printf("max : %d, min : %d\n",*maxPtr,*minPtr);
  
    return 0;
}

 

 

p.s 별이 한개, 두개 , 어디에선 하나고 어디에선 두개고. 원리만 익히면 쉽지만 이걸 계속 가지고 갈 수 있는지.. 

끊임없이 익혀야겠네요..C언어에서 포인터란...

728x90
반응형
LIST