|
http://www.hackerschool.org/HS_Boards/zboard.php?AllArticle=true&no=2876 [º¹»ç]
#include <stdio.h>
void F_max_min (int *arr, int size, int **mx, int **mn);
int main()
{
int arr[5];
int i;
int *max, *min;
for(i=0;i<5;i++)
{
printf("5°³ÀÇ Á¤¼ö¸¦ ÀÔ·ÂÇϽÿÀ: ");
scanf("%d", &arr[i]);
}
F_max_min (arr, sizeof(arr)/sizeof(int), &max, &min);
printf("ÃÖ´ë: %d, ÃÖ¼Ò: %d \n", *max, *min);
return 0;
}
void F_max_min (int *arr, int size, int **mx, int **mn)
{
int i;
int *max, *min;
max=min=arr;
for(i=0; i<size; i++)
{
if(*max<arr[i])
max=&arr[i];
if(*min>arr[i])
min=&arr[i];
}
*mx=max;
*mn=min;
}
ÀÌ Äڵ尡 Call-By-Reference ¶û Double pointer¸¦ ÀÌ¿ëÇØ¼ max¿Í minÀ» ±¸Çϴ°ÍÀä
FunctionÂÊÀ» º¸½Ã¸é
max=min=arr ÀÌÀÖÀݾƿä
¿©±â¼ ±×´ÙÀ½ ÁÙ¿¡ ÀÖ´Â *max¿Í *minµéÀÌ ÀúÀåµÇ´Âµ¥¿ä
¸¸¾à ¼ýÀÚ¸¦ (17,19,25,6,7)Çϸé
arr[i]Áß¿¡¼ arrÀÇ °ªÀº i°¡ º¯Çصµ ÁÖ¼Ò´Â ¹Ù²îÁö ¾Ê´Âµ¥
¿Ö ±× ÁÖ¼Ò°¡ ¿¹¸¦ µé¾î 0x0030fa00À̶ó¸é ¿Ö Àú ÁÖ¼Ò°¡ ù¹øÂ° °ªÀÇ ÁÖ¼Ò¸¦ °¡¸£Å°´Â°ÅÁÒ?
±×¸²À» ±×·Áº¸¸é
-------------- 17ÀÇ ÁÖ¼Ò
--------------
--------------
--------------
--------------
--------------19ÀÇ ÁÖ¼Ò
--------------
--------------
--------------
--------------
--------------25ÀÇ ÁÖ¼Ò
--------------
--------------
--------------
--------------
--------------6ÀÇ ÁÖ¼Ò
--------------
--------------
--------------
--------------
--------------5ÀÇ ÁÖ¼Ò
--------------
--------------
--------------
--------------
¿©¼ Áï arrÀÇ ÁּҴ ù¹øÂ° ÄÀÇ ÁÖ¼ÒÀ̴ϱñ ±×·±°ÍÀΰ¡¿ä?
µÑ°Áú¹®Àº
¸Ç ¹Ø¿¡
*mx=max;
*mn=min;
µéÀº ¿Ö ºÙÀº °ÍÀԴϱî? |
Hit : 4365 Date : 2011/02/02 01:32
|