¿©±â¼´Â °¡º¯ Àμö ÇÔ¼ö¿¡ ´ëÇØ¼ ¾Ë¾Æ º»´Ù. °¡º¯ ÀμöÀÇ ÇÔ¼ö¸¦ ¸¸µå´Â ¹æ¹ý¿¡ ´ëÇØ¼´Â ¹°·ÐÀÌ°í °¡º¯ Àμö ÇÔ¼ö°¡ µ¿ÀÛÇÏ´Â ¿ø¸®¿¡ ´ëÇØ¼µµ ÀÚ¼¼ÇÏ°Ô ºÐ¼®ÇØ º¼ °ÍÀÌ´Ù. Á¶±Ý ¾î·Æ±â´Â ÇÏÁö¸¸ Æ÷ÀÎÅ͸¦ ÀûÀýÇÏ°Ô È°¿ëÇÏ´Â ¿¹¸¦ º¼ ¼ö ÀÖÀ¸¸ç Æ÷ÀÎÅÍ·Î ¾î¶² ÀÏÀÌ °¡´ÉÇÑÁö¸¦ °æÇèÇÒ ¼ö ÀÖ´Â ÁÁÀº ±âȸ°¡ µÉ °ÍÀÌ´Ù. °¡º¯ Àμö ÇÔ¼ö°¡ ¾î¶»°Ô µ¿ÀÛÇÏ´ÂÁö¸¦ ¼³¸íÇÒ ¼ö ÀÖ´Ù¸é Æ÷ÀÎÅ͸¦ Á¤º¹Çß´Ù°í »ý°¢Çصµ ÁÁ´Ù. °¡º¯ Àμö¸¦ Àо´Â Æ÷ÀÎÅÍ ¿¬»ê½ÄÀ» ÇØ¼®ÇÒ ¼ö ÀÖ´Ù´Â °ÍÀº Æ÷ÀÎÅ͸¦ ÃæºÐÈ÷ ÀÌÇØÇß´Ù´Â Áõ°ÅÀÌ´Ù. ÀÌ ÀýÀÇ ³»¿ëÀº ´Ù¼Ò ¾î·Æ°í ÇÔ¼ö¿¡ ´ëÇÑ ÀÌÇØ°¡ ÇÊ¿äÇϹǷΠ´ÙÀ½ ÀåÀÇ ½ºÅà ÇÁ·¹ÀÓÀ» ¸ÕÀú ÀÐ¾î º» ÈÄ °øºÎÇÏ´Â °ÍÀÌ È¿À²ÀûÀÌ´Ù.
°¡º¯ Àμö¶õ ¸» ¶æ ±×´ë·Î ÀμöÀÇ °³¼ö¿Í ŸÀÔÀÌ ¹Ì¸® Á¤ÇØÁ® ÀÖÁö ¾Ê´Ù´Â ¶æÀÌ¸ç ±×·± Àμö¸¦ »ç¿ëÇÏ´Â ÇÔ¼ö¸¦ °¡º¯ Àμö ÇÔ¼ö¶ó°í ÇÑ´Ù. °¡º¯ Àμö ÇÔ¼öÀÇ °¡Àå ÁÁÀº ¿¹´Â C¾ð¾îÀÇ °¡Àå ±âÃÊ ÇÔ¼öÀÎ printfÀÌ´Ù. C¾ð¾î¸¦ ¹è¿ì´Â »ç¶÷ÀÌ °¡Àå ¸ÕÀú ¹è¿ì´Â Ä£±ÙÇÑ ÇÔ¼öÀ̹ǷΠÀÌ ÇÔ¼ö¸¦ ÅëÇØ °¡º¯ Àμö ÇÔ¼ö¸¦ ¾î¶»°Ô »ç¿ëÇÏ´ÂÁö ¿¬±¸ÇØ º¸ÀÚ. ÀÌ ÇÔ¼ö´Â ¼½Ä ¹®ÀÚ¿°ú ¼½Ä¿¡ ´ëÀÀµÇ´Â ÀÓÀÇ Å¸ÀÔÀÇ ÀμöµéÀ» °³¼ö¿¡ »ó°ü¾øÀÌ Àü´Þ¹ÞÀ» ¼ö ÀÖ´Ù. ´ÙÀ½ÀÌ printf ÇÔ¼öÀÇ È£Ãâ ¿¹ÀÌ´Ù.
printf("Á¤¼ö´Â %dÀÌ°í ½Ç¼ö´Â %fÀÌ´Ù.",i,d);
printf("À̸§=%s, ³ªÀÌ=%d, Ű=%f","±è»óÇü",25,178.8);
printf("%d + %f = %f", 123, 3.14, 123+3.14);
°¢ printf ÇÔ¼ö·Î Àü´ÞµÇ´Â ÀμöÀÇ °³¼ö¿Í ŸÀÔÀÌ ¸ðµÎ ´Ù¸£Áö¸¸ Á¤»óÀûÀ¸·Î ÄÄÆÄÀÏµÇ°í ½ÇÇàµÈ´Ù. ¹Ý¸é gotoxy(10,15,"quickly")³ª strcpy(src,dest,3) µûÀ§ÀÇ È£ÃâÀº ´çÀå ÄÄÆÄÀÏ ¿¡·¯·Î 󸮵ȴÙ. ÀÌ·± ÇÔ¼öµéÀº °¡º¯ Àμö¸¦ ¹Þ¾ÆµéÀÌÁö ¾Ê±â ¶§¹®¿¡ Çì´õ ÆÄÀÏ¿¡ ÀûÈù ¿øÇü´ë·Î Á¤È®ÇÏ°Ô ÀμöÀÇ °³¼ö¿Í ŸÀÔÀ» ¸ÂÃç¼ È£ÃâÇØ¾ß ÇÑ´Ù. Àμö°¡ ³²¾Æ¼µµ ¾ÈµÇ¸ç ¸ðÀÚ¶óµµ ¾ÈµÇ°í ŸÀÔÀÌ Æ²·Áµµ ¿¡·¯·Î 󸮵ȴÙ. ±×·¸´Ù¸é printf ÇÔ¼öÀÇ ¿øÇüÀº ¾î¶»°Ô ¼±¾ðµÇ¾î Àֱ淹 °¡º¯ Àμö¸¦ ó¸®ÇÒ ¼ö ÀÖÀ»±î? ´ÙÀ½ÀÌ printf ÇÔ¼öÀÇ ¿øÇüÀÌ´Ù.
int printf( const char *format, ... );
ÀÌ ÇÔ¼öÀÇ Ã¹ ¹øÂ° Àμö´Â formatÀ̶ó´Â À̸§ÀÇ ¹®ÀÚ¿ »ó¼öÀε¥ ÈçÈ÷ ¼½Ä ¹®ÀÚ¿À̶ó°í ºÎ¸¥´Ù. µÎ ¹øÂ° ÀÌÈÄÀÇ Àμö¿¡´Â ŸÀÔ°ú Àμö À̸§ÀÌ ¸í½ÃµÇ¾î ÀÖÁö ¾ÊÀ¸¸ç ´ë½Å »ý·« ±âÈ£(ellipsis)ÀÎ ...ÀÌ ÀûÇô ÀÖ´Ù. »ý·« ±âÈ£´Â ÄÄÆÄÀÏ·¯¿¡°Ô ÀÌÈÄÀÇ Àμö¿¡ ´ëÇØ¼´Â °³¼ö¿Í ŸÀÔÀ» Á¡°ËÇÏÁö ¾Êµµ·Ï Çϴµ¥ ÀÌ ±âÈ£¿¡ ÀÇÇØ °¡º¯ Àμö°¡ °¡´ÉÇØÁø´Ù.
ÄÄÆÄÀÏ·¯´Â ... ÀÌÈÄÀÇ Àμö¿¡ ´ëÇØ¼´Â °³¼ö°¡ ¸î°³µçÁö ¾î¶² ŸÀÔÀ̵çÁö »ó°üÇÏÁö ¾Ê°í ÀÖ´Â ±×´ë·Î ÇÔ¼ö¿¡°Ô ³Ñ±â¹Ç·Î ÀÓÀÇ Å¸ÀÔÀÇ ÀμöµéÀ» °³¼ö¿¡ »ó°ü¾øÀÌ Àü´ÞÇÒ ¼ö ÀÖ´Ù. ´ë½Å Àü´ÞµÈ ÀμöÀÇ Á¤È®ÇÑ Å¸ÀÔÀ» ÆÇº°ÇÏ¿© ²¨³»¾²´Â °ÍÀº ÇÔ¼ö°¡ ¾Ë¾Æ¼ ÇØ¾ß ÇÑ´Ù. ÄÄÆÄÀÏ·¯´Â Àμö¸¦ ¸¶À½´ë·Î ÃëÇÒ ¼ö ÀÖµµ·Ï Çã¶ôÀº ÇØ ÁÖÁö¸¸(»ç½ÇÀº Çã¶ôÀÌ ¾Æ´Ï¶ó ¹«°ü½ÉÀÌ´Ù) µÞÀÏ¿¡ ´ëÇØ¼´Â Àý´ë·Î Ã¥ÀÓÁöÁö ¾Ê´Â´Ù.
»ý·« ±âÈ£ ÀÌÀü¿¡ Àü´ÞµÇ´Â Àμö¸¦ °íÁ¤ Àμö¶ó°í Çϴµ¥ printf ÇÔ¼öÀÇ °æ¿ì format Àμö°¡ ¹Ù·Î °íÁ¤ ÀμöÀÌ´Ù. °íÁ¤ Àμö´Â ¿øÇü¿¡ ŸÀÔ°ú °³¼ö°¡ ºÐ¸íÈ÷ ¸í½ÃµÇ¾î ÀÖÀ¸¹Ç·Î ¿øÇü´ë·Î Á¤È®ÇÏ°Ô Àü´ÞÇØ¾ß ÇÑ´Ù. printf°¡ ¾Æ¹«¸® °¡º¯ Àμö¸¦ Áö¿øÇÑ´Ù°í ÇÏ´õ¶óµµ printf(1, 2)³ª printf(3.14) µûÀ§ÀÇ È£ÃâÀº ¾ÈµÈ´Ù. printfÀÇ Ã¹ ¹øÂ° Àμö´Â ¹Ýµå½Ã const char * ŸÀÔÀÇ ¼½Ä ¹®ÀÚ¿À̾î¾ß ÇÏ¸ç µÎ ¹øÂ° ÀμöºÎÅÍ °¡º¯ ÀμöÀÌ´Ù. ±×·¡¼ Á¤¼ö Çϳª¸¦ Ãâ·ÂÇÒ ¶§´Â printf(i)°¡ ¾Æ´Ï¶ó printf("%d",i)·Î È£ÃâÇØ¾ß ÇÑ´Ù.

°¡º¯ Àμö ÇÔ¼ö¸¦ »ç¿ëÇÏ´Â °ÍÀº º°·Î ¾î·ÆÁö ¾Ê´Ù. printf ÇÔ¼öÀÇ °æ¿ì °íÁ¤ ÀμöÀÎ ¼½Ä ¹®ÀÚ¿À» ¸ÕÀú Àü´ÞÇÏ°í ¼½ÄÀÇ °³¼ö¿Í ŸÀÔ¿¡ ¸Â´Â ÀμöµéÀ» ¼ø¼´ë·Î Àü´ÞÇϱ⸸ ÇÏ¸é µÈ´Ù. ±×·¸´Ù¸é ÀÌ·± °¡º¯ Àμö¸¦ ÃëÇÒ ¼ö ÀÖ´Â ÇÔ¼ö´Â ¾î¶»°Ô ¸¸µå´ÂÁö ¾Ë¾Æº¸ÀÚ. °ü°ÇÀº Àڽſ¡°Ô Àü´ÞµÈ ÀÓÀÇ Å¸ÀÔÀÇ ÀμöµéÀ» ¼ø¼´ë·Î ²¨³»¼ Á¤È®ÇÑ °ªÀ» Àд °ÍÀÌ´Ù. °¡º¯ Àμö ÇÔ¼öÀÇ °³·«ÀûÀÎ ±¸Á¶´Â ´ÙÀ½°ú °°´Ù.
void VarFunc(int Fix, ...)
{
va_list ap;
va_start(ap,Fix);
while (¸ðµç Àμö¸¦ ´Ù ÀÐÀ» ¶§±îÁö) {
va_arg(ap,ÀμöŸÀÔ);
}
va_end(ap);
}
¹°·Ð ÇÔ¼öÀÇ À̸§À̳ª ¿øÇü, °íÁ¤ ÀμöÀÇ °³¼ö µîÀº Çʿ信 µû¶ó ¸¶À½´ë·Î ÀÛ¼ºÇÒ ¼ö ÀÖ´Ù. ¸¶Áö¸· Àμö ÀÚ¸®¿¡ ...¸¸ ÀÖÀ¸¸é °¡º¯ Àμö ÇÔ¼ö°¡ µÈ´Ù. °¡º¯ Àμö ÇÔ¼ö ³»ºÎ¿¡¼´Â Àμö¸¦ Àбâ À§ÇØ ÀÌ»óÇÑ ¸ð¾çÀÇ ¸ÅÅ©·Î ÇÔ¼öµéÀ» ¸¹ÀÌ »ç¿ëÇϴµ¥ ÀÌ ¹®ÀåµéÀ» °¢°¢ ºÐ¼®ÇØ º¸ÀÚ.
ÇÔ¼ö·Î Àü´ÞµÇ´Â ÀμöµéÀº ½ºÅÃ(Stack)À̶ó´Â ±â¾ï Àå¼Ò¿¡ ÀúÀåµÇ¸ç ÇÔ¼ö´Â ½ºÅÿ¡¼ Àμö¸¦ ²¨³» ¾´´Ù. ½ºÅÿ¡ ÀÖ´Â Àμö¸¦ ÀÐÀ» ¶§ Æ÷ÀÎÅÍ ¿¬»êÀ» ÇØ¾ß Çϴµ¥ ÇöÀç Àаí ÀÖ´Â ¹øÁö¸¦ ±â¾ïÇϱâ À§ÇØ va_listÇüÀÇ Æ÷ÀÎÅÍ º¯¼ö Çϳª°¡ ÇÊ¿äÇÏ´Ù. º¯¼ö À̸§Àº ap·Î µÇ¾î Àִµ¥ ¾Æ¸¶µµ Argument PointerÀÇ ¾àÀÚÀÏ °ÍÀÌ´Ù. ap´Â ¾îµð±îÁö³ª Áö¿ªº¯¼öÀÏ »ÓÀ̹ǷΠÀ̸§Àº ¸¶À½´ë·Î Á¤ÇÒ ¼ö ÀÖµÇ °ü½ÀÀûÀ¸·Î °¡º¯ Àμö¸¦ ´Ù·ç´Â ¸ÅÅ©·Î¿¡¼´Â ap¶ó´Â À̸§À» »ç¿ëÇÑ´Ù. va_list ŸÀÔÀº char *ÇüÀ¸·Î Á¤ÀǵǾî ÀÖ´Ù. °¡º¯ Àμö¸¦ Àбâ À§ÇÑ Æ÷ÀÎÅÍ º¯¼ö¸¦ ¼±¾ðÇß´Ù°í »ý°¢ÇÏ¸é µÈ´Ù.
ÀÌ ¸í·ÉÀº °¡º¯ Àμö¸¦ Àбâ À§ÇÑ Áغñ¸¦ Çϴµ¥ ap Æ÷ÀÎÅÍ º¯¼ö°¡ ù ¹øÂ° °¡º¯ Àμö¸¦ °¡¸®Å°µµ·Ï ÃʱâÈÇÑ´Ù. ù ¹øÂ° °¡º¯ ÀμöÀÇ ¹øÁö¸¦ Á¶»çÇϱâ À§Çؼ ¸¶Áö¸· °íÁ¤ Àμö¸¦ Àü´Þ ÇÑ´Ù. va_start ³»ºÎ¿¡¼´Â ap°¡ ¸¶Áö¸· °íÁ¤ Àμö ´ÙÀ½ ¹øÁö¸¦ °¡¸®Å°µµ·Ï ÇØ ÁֹǷΠÀÌÈĺÎÅÍ ap ¹øÁö¸¦ ÀÐÀ¸¸é ¼ø¼´ë·Î °¡º¯ Àμö¸¦ ÀÐÀ» ¼ö ÀÖ´Ù.
°¡º¯ Àμö¸¦ ½ÇÁ¦·Î Àд ¸í·ÉÀÌ´Ù. va_start°¡ ap¸¦ ù ¹øÂ° °¡º¯ Àμö ¹øÁö·Î ¸ÂÃß¾î ÁֹǷΠap À§Ä¡¿¡ ÀÖ´Â °ªÀ» Àб⸸ ÇÏ¸é µÈ´Ù. ´Ü, ap ¹øÁö¿¡ ÀÖ´Â °ªÀÌ ¾î¶² ŸÀÔÀÎÁö¸¦ ÁöÁ¤ÇØ¾ß ÀÌ ¸ÅÅ©·Î°¡ °ªÀ» Á¦´ë·Î ÀÐÀ» ¼ö ÀÖÀ¸¹Ç·Î µÎ ¹øÂ° Àμö·Î ÀаíÀÚ ÇÏ´Â °ªÀÇ Å¸ÀÔÀ» ÁöÁ¤ ÇÑ´Ù. ¿¹¸¦ µé¾î ap À§Ä¡¿¡ ÀÖ´Â Á¤¼ö°ªÀ» ÀаíÀÚ ÇÑ´Ù¸é va_arg(ap, int)¸¦ È£ÃâÇÏ°í ½Ç¼ö°ªÀ» ÀаíÀÚ ÇÑ´Ù¸é va_arg(ap, double)À̶ó°í È£ÃâÇÏ¸é µÈ´Ù. ¹°·Ð ¸®ÅϵǴ °ªÀº ÀμöŸÀÔ¿¡ ¸Â´Â º¯¼ö·Î ´ëÀÔ¹Þ¾Æ¾ß ÇÑ´Ù. ÀÌ ¸í·ÉÀº apÀ§Ä¡¿¡¼ ŸÀÔ¿¡ ¸Â´Â °ªÀ» ÀÐ¾î ¸®ÅÏÇÏ¸ç ¶ÇÇÑ ap¸¦ ´ÙÀ½ °¡º¯ Àμö À§Ä¡·Î ¿Å°ÜÁØ´Ù. ±×·¡¼ va_arg¸¦ ¹Ýº¹ÀûÀ¸·Î È£ÃâÇϸé Àü´ÞµÈ °¡º¯ Àμö¸¦ ¼ø¼´ë·Î ÀÐÀ» ¼ö ÀÖ´Ù.
±×·±µ¥ ÀÌ ¸í·É¿¡¼ Á¶±Ý ÀÌ»óÇÑ Á¡À» ¹ß°ßÇÒ ¼ö Àִµ¥ int³ª double°°Àº ŸÀÔ À̸§ÀÌ ¾î¶»°Ô ÇÔ¼öÀÇ Àμö·Î Àü´ÞµÉ ¼ö Àִ°¡ ÇÏ´Â Á¡ÀÌ´Ù. ÇÔ¼öÀÇ Àμö·Î´Â °ªÀÌ Àü´ÞµÇ´Â °ÍÀÌ Á¤»óÀε¥ ŸÀÔ¸íÀÌ ¾î¶»°Ô ÇÔ¼öÀÇ Àμö°¡ µÉ ¼ö Àִ°¡ ¸»ÀÌ´Ù. ŸÀÔ¸íÀº ºÐ¸íÈ÷ ÇÔ¼öÀÇ Àμö°¡ µÉ ¼ö ¾ø´Ù. ±×·³¿¡µµ ºÒ±¸Çϰí va_arg°¡ ŸÀÔ¸íÀ» Àμö·Î ¹Þ¾ÆµéÀÏ ¼ö ÀÖ´Â ÀÌÀ¯´Â va_arg°¡ ÁøÂ¥ ÇÔ¼ö°¡ ¾Æ´Ï¶ó ¸ÅÅ©·Î ÇÔ¼öÀ̱⠶§¹®ÀÌ´Ù. va_argÀÇ µÎ ¹øÂ° Àμö´Â ³»ºÎÀûÀ¸·Î sizeof ¿¬»êÀÚ¿Í Ä³½ºÆ® ¿¬»êÀÚ·Î Àü´ÞµÇ±â ¶§¹®¿¡ ŸÀÔ¸íÀÌ µÉ ¼ö ÀÖ´Ù.
ÀÌ ¸í·ÉÀº °¡º¯ Àμö¸¦ ´Ù ÀÐÀº ÈÄ µÞÁ¤¸®¸¦ Çϴµ¥ º°´Ù¸¥ µ¿ÀÛÀº ÇÏÁö ¾ÊÀ¸¸ç ½ÇÁ¦·Î ¾ø¾îµµ ÀüÇô ÁöÀåÀÌ ¾ø´Ù. ÀÌ ¸í·ÉÀÌ ÇÊ¿äÇÑ ÀÌÀ¯´Â ȣȯ¼º ¶§¹®Àε¥ Ç÷§Æû¿¡ µû¶ó¼´Â °¡º¯ Àμö¸¦ ÀÐÀº ÈÄ¿¡ µÞ󸮸¦ ÇØ¾ß ÇÏ´Â °æ¿ìµµ Àֱ⠶§¹®ÀÌ´Ù. Àû¾îµµ ÀÎÅÚ °è¿ÀÇ CPU¿¡¼´Â va_end°¡ ¾Æ¹« Àϵµ ÇÏÁö ¾Ê´Â´Ù. ±×·¯³ª ´Ù¸¥ Ç÷§ÆûÀ̳ª ¹Ì·¡ÀÇ È¯°æ¿¡¼´Â va_end°¡ Áß¿äÇÑ ¿ªÇÒÀ» ÇÒ ¼öµµ ÀÖÀ¸¹Ç·Î ȣȯ¼ºÀ» À§Çؼ´Â °ü·ÊÀûÀ¸·Î ³Ö¾î ÁÖ´Â °ÍÀÌ ÁÁ´Ù.
¿©±â±îÁö ¼³¸íÀ» Àаí "À½, ±×·¸±º, °¡º¯ Àμö ÇÔ¼ö ¸¸µé±â ¹«Áö ½±±º"À̶ó°í ÇÑ ¹ø¿¡ ÀÌÇØÇÒ ¼ö ÀÖ´Â »ç¶÷Àº ¸¹Áö ¾ÊÀ» °ÍÀÌ´Ù. ÀÌ ¸ÅÅ©·ÎµéÀ» »ç¿ëÇÏ´Â ¹æ¹ý°ú Á¤È®ÇÑ µ¿ÀÛ ¿ø¸®´Â Á» ´õ ¿¬±¸ÇØ ºÁ¾ß ÇÒ °úÁ¦ÀÌ´Ù. ÀÏ´Ü ½ÇÁ¦·Î µ¿ÀÛÇÏ´Â °¡º¯ Àμö ÇÔ¼ö¸¦ Çϳª ¸¸µé¾î º¸ÀÚ. ´ÙÀ½ ¿¹Á¦ÀÇ GetSum ÇÔ¼ö´Â ù ¹øÂ° Àμö·Î Àü´ÞµÈ num °³¼ö¸¸ÅÀÇ Á¤¼ö ÀμöµéÀÇ Çհ踦 ±¸ÇØ ¸®ÅÏÇÑ´Ù.
|
¿¹ Á¦ : GetSum |
#include <Turboc.h>
int GetSum(int num, ...)
{
int sum=0;
int i;
va_list ap;
int arg;
va_start(ap,num);
for (i=0;i<num;i++) {
arg=va_arg(ap,int);
sum+=arg;
}
va_end(ap);
return sum;
}
void main()
{
printf("1+2=%d\n",GetSum(2,1,2));
printf("3+4+5+6=%d\n",GetSum(4,3,4,5,6));
printf("10~15=%d\n",GetSum(6,10,11,12,13,14,15));
}
GetSum ÇÔ¼öÀÇ Ã¹ ¹øÂ° Àμö numÀº Àü´ÞµÉ Á¤¼ö ÀμöÀÇ °³¼ö¸¦ °¡Áö´Â °íÁ¤ ÀμöÀ̸ç ÀÌ Àμö ´ÙÀ½¿¡ Çհ踦 ±¸ÇÏ°í ½ÍÀº num°³ÀÇ Á¤¼ö°ªÀ» ³ª¿ÇÏ¸é µÈ´Ù. ÀμöÀÇ °³¼ö°¡ ¸î°³À̵簣¿¡ Àü´ÞµÈ ¸ðµç °ªÀÇ Çհ踦 ±¸ÇØ ¸®ÅÏÇÒ °ÍÀÌ´Ù. ½ÇÇà °á°ú´Â ´ÙÀ½°ú °°´Ù.
1+2=3
3+4+5+6=18
10~15=75
GetSum ÇÔ¼ö¿¡¼ °¡º¯ ÀμöµéÀ» ¾î¶»°Ô ÀдÂÁö ºÐ¼®ÇØ º¸ÀÚ. va_listÇüÀÇ Æ÷ÀÎÅÍ ap¸¦ ¼±¾ðÇϰí va_start(ap,num) È£Ãâ·Î ap°¡ ¸¶Áö¸· °íÁ¤ Àμö num ´ÙÀ½ÀÇ À§Ä¡, ±×·¯´Ï±î ù ¹øÂ° °¡º¯ Àμö¸¦ °¡¸®Å°µµ·Ï ÃʱâÈÇß´Ù. ±×¸®°í num¸¸Å ·çÇÁ¸¦ µ¹¸é¼ va_arg(ap,int) È£Ãâ·Î ap À§Ä¡¿¡ ÀÖ´Â int°ªÀ» °è¼Ó Àоî sum¿¡ ´©Àû½ÃŲ´Ù. ¸ðµç °¡º¯ Àμö¸¦ ´Ù ÀоúÀ¸¸é va_end(ap)·Î µÞÁ¤¸®¸¦ ÇÏ°í °è»êµÈ sum°ªÀ» ¸®ÅÏÇÏ¿´´Ù. ¾Õ¿¡¼ º¸ÀÎ ±âº» Çü½Ä´ë·Î va_ ¸ÅÅ©·Î¸¦ »ç¿ëÇÏ¿© °¡º¯ Àμö¸¦ Àоî ó¸®Çϱ⸸ ÇÏ¸é µÇ¹Ç·Î »ç¿ë¸¸À» ¸ñÀûÀ¸·Î ÇÑ´Ù¸é ±×¸® ¾î·ÆÁö ¾Ê´Ù.