c언어 이중포인터 질문이에욤 ㅠ
김예쁨
2023.04.01
질문 제목 :
배열에 있는 요소중 가장 큰 숫자를 출력하는 프로그램인데요 밑에서 보시듯 작성해보았는데요 컴파일 실행에는 아무 문제 없는데 실행 시키면 오류가 뜨네요.. 어디가 잘못된건ㄱ ㅏ요?? 아 그리고 근데... 궁금한것이 있는데 이중포인터는 포인터의 주소값을 간접참조한다고 배웠거든요?? 근데 제가 이해가 안가서 그러는데 밑에 보시면 pmax가 포인터의 주소값을 가르키는 건가요??
제눈에는 그냥 배열을 가르키는 것같은데.... 그렇다면 int* pmax로 해도 되지 않나욤???
질문 내용 :
#include stdio.h
void stcmaxptr(int array[], int size, int** pmax);
int main(void)
{
int list[] = { 5, 6, 1, 3, 7, 9 };
int size = sizeof list / sizeof list[0];
int* pmax = null;
stcmaxptr(list, size, &pmax);
printf(max = %d\n , *pmax);
return 0;
}
void stcmaxptr(int array[], int size, int** pmax)
{
int i;
for ( i = 0; i size ; i++ )
*pmax = array[i] array[i+1] ? array[i] : array[i+1];
}