더블포인터를 공부하고있습니다.
찬슬기
질문 내용 :
제가 의문을 가지는것은 함수 MaxMin의 맨밑에있는
*mx=max;
*mn=min;
이것입니다. 이게 왜 선언이 됀건지 도통 모르겠네요
이걸 없애니 프로그램은 오류를 내는데 무슨역할을 하는걸까요?#includestdio.h
void MaxMin(int* arr, int size, int **mx,int **mn);
int main(void)
{
int arr[5];
int *max, *min;
int i;
for(i=0;i5;i++) //행렬arr에 사용자로부터 정수를 입력 받는다.
{
printf(정수 입력 :);
scanf(%d, &arr[i]);
}
MaxMin(arr, sizeof(arr)/sizeof(int), &max, &min);
//버블정렬을 해주려면 행렬의 길이를 알아야한다.
//만약 사용자가 행렬의 길이를 바꾸게 돼더라도 더는 손이 안가게 sizeof를 이용해서 길이를 구해주는 식을 쓴다.
printf(최대 : %d, 최소 : %d \n, *max, *min);
//여기에는 더블포인터가 사용되지 않았기에 싱글포인터를 사용한다.
return 0;
}
void MaxMin(int* arr, int size, int **mx, int **mn)//mxmax를 mnmin을 가르킨다. 둘다 아무것도 없다.
//arr[]==*arr과 같다. arr[2]==*(arr+2)
{
int i;
int *max, *min;//포인터가 arr의 값을 가르켜야하기에 여기에 다시 선언해준다.
max = min = arr;//포인터에 별을 빼주면 그 것은 값으로 주소값을 갖는데 arr과 동일한 주소값을갖는다 arr[0]의 주소값을...
for(i=0; isize; i++)//size는 (배열의 길이 /배열의선언식) 으로 길이를 구해놓는다.
{
if(*maxarr[i])
max=&arr[i];
if(*minarr[i])
min=&arr[i]; //여기서 주소값이 포인터에 저장되는것이다.
}
*mx=max;//**ma가*mx인건 *max가 max하는 것과 같은 입장이다.
*mn=min;//그런데 이걸 왜 해주는 건가?
/*주소값을 더블포인터에 넣는다는 것과 같은데...
max에는 &arr[i]의 주소값이 담겨있다. 이걸 *mx에 저장하면 **mx를 하면 *max로 변환하고
*max의 주소값을 가르키고 결국은 arr[i]를 가르키는 거나 마찬가지다.
이상하게 이게 필요없을거같은데 지우면은 프로그램이 실행이 안됀다.*/
}
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2693591 | 컴파일 에러에서 질문드립니다 (3) | 게자리 | 2025-05-03 |
2693463 | 동적할당 이용시 fwrite사용을 어떻게 해야하나요..? (10) | 일본어못해요 | 2025-05-02 |
2693387 | 배열문제입니다 수정오류캡쳐했습니다 (6) | 연하얀 | 2025-05-01 |
2693356 | text 입출력 내림차순 질문입니다 ㅠ | 빛글 | 2025-05-01 |
2693328 | C언어를이용해서 .txt파일 외에 다른 확장자 파일 삭제가 가능한지.. (2) | 대나무 | 2025-05-01 |
2693299 | 파일입출력 바이너리파일 | 독특한 | 2025-04-30 |
2693273 | 오류 (1) | 귀1여운렩 | 2025-04-30 |
2693080 | visual studio 2008 express edition 등록키 말인데요 | 얀별 | 2025-04-28 |
2693053 | 배열, 구조체 관련 프로그래밍 질문드립니다. | 싸리 | 2025-04-28 |
2693025 | 프로그램을 짜봤는데요 ㅠㅠ | 상처입은마음 | 2025-04-28 |
2693001 | 워닝문제, 세그멘트결함문제 (1) | 월식 | 2025-04-28 |
2692979 | 라인한줄 이랑.. 소스 설명좀 부탁드려요.. | 이루리 | 2025-04-27 |
2692947 | 이 문제좀 풀어 주세요..ㅜㅜ (1) | 소리 | 2025-04-27 |
2692889 | 함수의 구조체 인자로 받아서 그 인자로 데이터 넣기... | 한뎃집 | 2025-04-27 |
2692862 | 성적 출력 하는 프로그램인데요~!!!도움좀 주세욤.ㅠ | 두빛나래 | 2025-04-26 |
2692831 | if 문 간단해요 빨리좀 ㅠㅠ | 이플 | 2025-04-26 |
2692805 | 실행파일이 이상해요 | 푸헷 | 2025-04-26 |
2692750 | 퀵정렬 질문이요 . | 동생몬 | 2025-04-25 |
2692700 | 이 소스코드에 문제 있나요?? (2) | 초코초코해 | 2025-04-25 |
2692596 | 오류좀 잡아주세요 | 하나 | 2025-04-24 |