¹è¿¿¡ ´ëÇØ ¾î¶² ¹Ýº¹ÀûÀΠ󸮰¡ ÇÊ¿äÇÏ´Ù°í ÇØ º¸ÀÚ. ÀÏÁ¤ÇÑ Äڵ尡 °è¼ÓÀûÀ¸·Î ¹Ýº¹µÈ´Ù¸é ÇÔ¼ö·Î ºÐ¸®ÇØ¾ß Çϴµ¥ À̶§ ÀÛ¾÷ ´ë»óÀÌ µÇ´Â ¹è¿À» ÇÔ¼ö·Î Àü´ÞÇÒ ÇÊ¿ä°¡ ÀÖÀ» °ÍÀÌ´Ù. ´ÙÀ½ ¿¹Á¦´Â ¹è¿ÀÇ ³»¿ëÀ» ȸéÀ¸·Î Ãâ·ÂÇÏ´Â ÇÔ¼ö OutArray¸¦ Á¤ÀÇÇÑ´Ù.
¿¹ Á¦ : ArrayPara1 |
#include <Turboc.h>
void OutArray(int ar[5])
{
int i;
for (i=0;i<5;i++) {
printf("%d¹ø° = %d\n",i,ar[i]);
}
}
void main(void)
{
int ar[]={1,2,3,4,5};
OutArray(ar);
}
main¿¡¼ Å©±â 5ÀÇ Á¤¼öÇü ¹è¿ arÀ» ¼±¾ðÇßÀ¸¸ç ÀÌ ¹è¿À» OutArray·Î Àü´ÞÇÏ¿´´Ù. ½ÇÇàÇØ º¸¸é ar ¹è¿ÀÇ ³»¿ëÀÌ Á¦´ë·Î Ãâ·ÂµÇ´Â °ÍÀ» È®ÀÎÇÒ ¼ö ÀÖ´Ù. ÀÌ ¿¹Á¦¿¡¼ OutArrayÀÇ Àμö ¸ñ·Ï¿¡ int ar[5]¶ó°í µÇ¾î ÀÖÀ¸¹Ç·Î ÀÌ ÇÔ¼ö°¡ Å©±â 5ÀÇ Á¤¼öÇü ¹è¿À» Àü´Þ¹Þ´Â °Íó·³ º¸ÀÌÁö¸¸ »ç½ÇÀº ±×·¸Áö ¾Ê´Ù.
C´Â ÇÔ¼öÀÇ Àμö·Î ¹è¿À» Àü´ÞÇÏ´Â ¹æ¹ýÀº Á¦°øÇÏÁö ¾ÊÀ¸¸ç ¿À·ÎÁö Æ÷ÀÎÅ͸¸ Àü´ÞÇÒ ¼ö ÀÖ´Ù. OutArrayÀÇ Àμö ¸ñ·Ï¿¡ ÀÖ´Â int ar[5]´Â Á¤¼öÇü Æ÷ÀÎÅÍ arÀ» ÀǹÌÇÏ´Â °ÍÀÌÁö Á¤¼öÇü ¹è¿À» ÀǹÌÇÏ´Â °ÍÀÌ ¾Æ´Ï´Ù. ´Ù¸¸ Á¤¼öÇü Æ÷ÀÎÅÍ Å¸ÀÔÀÇ Àμö¸¦ ¹è¿Ã³·³ Ç¥±âÇÏ´Â °ÍÀ» Çã¿ëÇÒ »ÓÀÌ´Ù. ±×·¡¼ ´ÙÀ½ ¼¼ ÇÔ¼ö Ç¥±â´Â ¿ÏÀüÈ÷ µ¿ÀÏÇÏ´Ù.
void OutArray(int ar[])
void OutArray(int *ar)
void OutArray(int ar[5])
int ar[]À̶ó°í Ç¥±âÇϵç int *arÀ̶ó°í Ç¥±âÇϵç ÄÄÆÄÀÏ·¯´Â µÑ ´Ù Á¤¼öÇü Æ÷ÀÎÅÍ·Î Çؼ®ÇÑ´Ù. ÇÔ¼öÀÇ Àμö ¸ñ·Ï¿¡¼ int ar[]À̶ó´Â Ç¥±â´Â int *ar°ú ¿ÏÀüÈ÷ µ¿ÀÏÇÏ¸ç ¹è¿ÀÌ ¾Æ´Ï¶ó Æ÷ÀÎÅÍÀÌ´Ù. Ç¥±â¸¸ °°À» »ÓÀÌÁö arÀº Ç×»ó Æ÷ÀÎÅÍÀ̸ç ÇÔ¼ö ³»¿¡¼ *¿¬»êÀÚ·Î °¡¸®Å°´Â ´ë»óÀ» ÀÐÀ» ¼ö ÀÖ°í ++, -- ¿¬»êÀÚ·Î ¾Õ µÚ·Î À̵¿ÇÒ ¼öµµ ÀÖ´Ù. ¿¹Á¦¿¡¼ ar[i]¸¦ *ar++·Î ¹Ù²ãµµ ¶È°°ÀÌ µ¿ÀÛÇϴµ¥ Áõ°¡ÇÒ ¼ö ÀÖ´Ù´Â °ÍÀº °ð »ó¼ö°¡ ¾Æ´Ï¶ó´Â ¾ê±â´Ù.
int ar[]ÀÇ [ ] °ýÈ£¾È¿¡ ¹è¿ÀÇ Å©±â´Â »ý·«ÇÒ ¼öµµ ÀÖ°í »ó¼ö°ªÀ» ÀûÀ» ¼öµµ ÀÖµÇ ÄÄÆÄÀÏ·¯´Â ¿©±â¿¡ Ç¥±âµÈ »ó¼ö°ªÀº ¿ÏÀüÈ÷ ¹«½ÃÇÑ´Ù. ±×·¡¼ ¹è¿À» ³Ñ±â°í ½ÍÀ» ¶§ ½ÇÁ¦·Î´Â Æ÷ÀÎÅÍ°¡ ³Ñ¾î°¡´õ¶óµµ ±× ¹è¿ÀÇ ÇüŸ¦ ±×´ë·Î ÀûÀ» ¼ö ÀÖ´Ù. ½ÉÁö¾î int ar[1000] °°Àº Å͹«´Ï¾ø´Â °ªÀ» ½áµµ ¾Æ¹«·± ¹®Á¦°¡ ¾ø´Ù. ¾îÂ÷ÇÇ Àü´ÞµÇ´Â °ÍÀº Æ÷ÀÎÅÍÀÌÁö ¹è¿ÀÌ ¾Æ´Ï±â ¶§¹®¿¡ ÄÄÆÄÀÏ·¯´Â Å©±â µûÀ§¿¡ °ü½ÉÀ» °¡Áú¸®°¡ ¸¸¹«Çϸç ÇÔ¼ö´Â ½ÃÀÛ ¹øÁö¸¸À» Àü´Þ¹Þ±â ¶§¹®¿¡ ¹è¿ Å©±â¸¦ ¾Ë ¹æ¹ýÀÌ ÀüÇô ¾ø´Ù.
¸¸¾à ÇÔ¼ö³»¿¡¼ ¹è¿ÀÇ Å©±â¸¦ ²À ¾Ë¾Æ¾ß ÇÑ´Ù¸é ¹è¿ÀÇ ½ÃÀÛ ¹øÁö¿Í ÇÔ²² º°µµÀÇ Àμö·Î ¹è¿ Å©±â¸¦ Àü´ÞÇØ¾ß ÇÑ´Ù. ¾Æ´Ï¸é ¹è¿ÀÇ ¿ä¼Ò Áß 0À̳ª -1°°ÀÌ ³¡À» ³ªÅ¸³»´Â ¹Ì¸® ¾à¼ÓµÈ ƯÀÌ°ªÀ» ¾µ ¼öµµ Àִµ¥ ÁÖ·Î ¹®ÀÚÇü ¹è¿ÀÌ ÀÌ ¹æ¹ýÀ» »ç¿ëÇÑ´Ù. ´ÙÀ½ ¿¹Á¦ÀÇ GetArSumÇÔ¼ö´Â ¹è¿ÀÇ ½ÃÀÛ ¹øÁö¿Í Å©±â¸¦ Àü´ÞÇÏ¸é ¹è¿ ¿ä¼ÒÀÇ ÃÑ ÇÕÀ» ±¸ÇÑ´Ù.
¿¹ Á¦ : ArrayPara2 |
#include <Turboc.h>
int GetArSum(int ar[], int size)
{
int i,sum=0;
for (i=0;i<size;i++) {
sum += ar[i];
}
return sum;
}
void main(void)
{
int ar[]={1,2,3,4,5};
int ar2[]={6,7,8,9,10,11};
printf("ÃÑÇÕ = %d\n",GetArSum(ar,sizeof(ar)/sizeof(ar[0])));
printf("ÃÑÇÕ = %d\n",GetArSum(ar2,sizeof(ar2)/sizeof(ar2[0])));
}
ÀÌ ÇÔ¼ö°¡ ¹Þ¾ÆµéÀÌ´Â Àμö´Â Á¤¼öÇüÀÇ Æ÷ÀÎÅÍ ar°ú ¹è¿ÀÇ Å©±â°ª sizeÀÌ´Ù. Á¤¼öÇü Æ÷ÀÎÅÍÀÇ ½ÃÀÛ°ú ±æÀ̸¦ ÁÖ¸é ½ÃÀÛ ¹øÁö ÀÌÈÄ ±æÀ̸¸ÅÀÇ ¿ä¼Ò¿¡ ´ëÇÑ ÇÕÀ» ±¸ÇØ ¸®ÅÏÇÑ´Ù. ±×·¡¼ ÀÌ ÇÔ¼ö´Â ÀÓÀÇ Å©±âÀÇ Á¤¼öÇü ¹è¿¿¡ ´ëÇÑ Å©±â°ªÀ» °è»êÇÒ ¼ö ÀÖ´Ù. int ar[]À̶ó´Â Ç¥±â´Â °ð Á¤¼öÇü Æ÷ÀÎÅ͸¦ ÀǹÌÇϹǷΠGetArSum ÇÔ¼öÀÇ º»Ã¼¸¦ ´ÙÀ½°ú °°ÀÌ ÀÛ¼ºÇصµ µ¿ÀÏÇÏ´Ù.
int GetArSum(int *ar, int size)
°°Àº ¿ø¸®·Î ¾ÕÇ׿¡¼ ÀÛ¼ºÇÑ GetTotalForWeek ÇÔ¼öÀÇ pa Àμöµµ ´ÙÀ½°ú °°ÀÌ µÎ °¡Áö ¹æ¹ýÀ¸·Î Ç¥±âÇÒ ¼ö ÀÖ´Ù.
int GetTotalForWeek(int (*pa)[7])
int GetTotalForWeek(int pa[][7])
ù ¹ø° ÷ÀÚ Å©±â´Â ºñ¿ö µÎ°í µÎ ¹ø° ÷ÀÚ¿¡¸¸ Å©±â¸¦ ¹àÈ÷¸é ÀÌ Àμö°¡ Å©±â 7ÀÇ ¹è¿ Æ÷ÀÎÅͶó´Â °ÍÀ» ¾Ë ¼ö ÀÖ´Ù. int pa[3][7] µî°ú °°ÀÌ Ã¹ ¹ø° ÷ÀÚ ÀÚ¸®¿¡ Å©±â¸¦ ¹àÈú ¼öµµ Àִµ¥ ½á ºÁ¾ß ¹«½ÃµÈ´Ù. Æ÷ÀÎÅÍ Àμö¸¦ ¹è¿ ÇüÅ·Πǥ±âÇÏ´Â ¿¹´Â main ÇÔ¼öÀÇ Àμö¿¡¼µµ º¼ ¼ö Àִµ¥ argv Àμö¿¡ ´ëÇØ ´ÙÀ½ µÎ °¡Áö Ç¥±â°¡ ¸ðµÎ °¡´ÉÇÏ´Ù.
void main(int argc,char *argv[]);
void main(int argc,char **argv);
Á¤¸®ÇÏÀÚ¸é ÇÔ¼öÀÇ Àμö ¸ñ·Ï¿¡¼ Æ÷ÀÎÅÍÇü Àμö¿¡ ´ëÇؼ´Â int *ar Çü½Ä ¿Ü¿¡ int ar[]À̶ó´Â Ç¥±âµµ Çã¿ëµÇ¸ç µÎ Ç¥±â¹ýÀº ¿ÏÀüÈ÷ µ¿ÀÏÇÏ°Ô Çؼ®µÈ´Ù. ¾îµð±îÁö³ª ÇÔ¼öÀÇ Àμö ¸ñ·Ï¿¡¼¸¸ ±×·² »ÓÀ̸ç ÀϹÝÀûÀÎ ¼±¾ð¹®¿¡¼´Â int ar[]À̶ó´Â Ç¥±â·Î Æ÷ÀÎÅ͸¦ ¼±¾ðÇÒ ¼ö ¾ø´Ù. ±×·¸´Ù¸é C ¹®¹ýÀº ¿Ö ÀÌ·± µÎ °¡Áö Ç¥±â¹ýÀ» Çã¿ëÇÏ¸ç µÎ Ç¥±â¹ýÀÌ ¹®¹ý¿ÜÀûÀ¸·Î ¾î¶² Â÷ÀÌÁ¡ÀÌ ÀÖÀ»±î?
¡á int *ar : ÀÌ·¸°Ô Ç¥±âÇÏ´Â °ÍÀº ÀÌ Àμö°¡ Æ÷ÀÎÅͶó´Â °ÍÀ» °Á¶ÇÑ´Ù. È£Ãâ¿ø¿¡¼ &i³ª pi µîÀ» ³Ñ±æ ¶§´Â ÀÌ·± Ç¥±â¹ýÀ» ¾²´Â °ÍÀÌ ÁÁÀ¸¸ç ÇÔ¼ö¸¦ ¾²´Â »ç¶÷Àº ÀÌ Ç¥±â¸¦ º¸°í ÀÌ Àμö°¡ Á¤¼öÇü º¯¼öÀÇ ¹øÁö¸¦ Àü´Þ¹Þ´Â´Ù°í »ý°¢ÇÒ °ÍÀÌ´Ù.
¡á int ar[] : ÀÌ·¸°Ô Ç¥±âÇÏ´Â °ÍÀº ÀÌ Àμö°¡ ¹è¿·ÎºÎÅÍ ¿Â Æ÷ÀÎÅͶó´Â °ÍÀ» °Á¶ÇÑ´Ù. È£Ãâ¿ø¿¡¼ arScore³ª arValue°°Àº ¹è¿¸íÀ¸·ÎºÎÅÍ Æò°¡µÈ Æ÷ÀÎÅÍ »ó¼ö¸¦ ³Ñ±æ ¶§ ÀÌ·± Ç¥±â¹ýÀ» ¾²´Â °ÍÀÌ ÁÁÀ¸¸ç ÀÌ·¸°Ô Ç¥±âµÈ Àμö´Â ¹è¿À̶ó´Â °ÍÀ» ½±°Ô ¾Ë ¼ö ÀÖ´Ù.
µÎ Ç¥±â¹ýÀº ¹®¹ýÀûÀ¸·Î´Â ¿ÏÀüÈ÷ µ¿ÀÏÇÏÁö¸¸ ÇÔ¼ö¸¦ Àд »ç¶÷¿¡°Ô ÀμöÀÇ Àǹ̿¡ ´ëÇÑ ¾à°£ÀÇ Á¤º¸¸¦ Á¦°øÇÒ ¼ö ÀÖ´Ù. ±×·¡¼ C´Â ÀÌ·± µÎ °¡Áö Ç¥±â¹ýÀ» Á¦°øÇϴµ¥ ÀÌ·Î ÀÎÇØ C Ãʺ¸ÀÚµéÀº ¸¹Àº È¥µ·À» ´À³¢´Â °Í ¶ÇÇÑ »ç½ÇÀÌ´Ù. Â÷¶ó¸® ¹è¿ÀÌ´õ¶óµµ ¹«Á¶°Ç *·Î¸¸ Ç¥±âÇϵµ·Ï ¹®¹ýÀ» Á¤¸®Çß´Ù¸é ÀÌ·± È¥¶õÀº ¾ø¾úÀ» °ÍÀÌ´Ù.
¸¸¾à ÀÌ·± °ÍÀ» ½Å°æ¾²°í ½ÍÁö ¾Ê´Ù¸é ¾ÕÀ¸·Î ¹è¿À̵ç Á¤¼öÇü º¯¼öÀÇ ¹øÁöµç ÇÔ¼ö·Î Àü´ÞÇÒ ¶§´Â * Ç¥±â¹ý¸¸ »ç¿ëÇÏ¸é µÈ´Ù. ´Ü, ³²ÀÇ ¼Ò½º¸¦ º¼ ¶§´Â [ ] Ç¥±â¹ýÀ¸·Î Æ÷ÀÎÅ͸¦ ³Ñ±â´Â °æ¿ì°¡ Àֱ⠶§¹®¿¡ µÎ Ç¥±â¹ýÀÌ µ¿ÀÏÇÏ´Ù´Â °ÍÀº ²À ¾Ë¾Æ µÎ¾î¾ß ÇÑ´Ù.