5-1-¸¶.º¹ÀâÇÑ ¼ö½Ä

Áõ°¨ ¿¬»êÀº ¾ÆÁÖ ÈçÇÑ ¿¬»êÀ̸ç CPUµµ ±â°è¾î Â÷¿øÀÇ Áõ°¨ ¸í·ÉÀ» º°µµ·Î °¡Áö°í ÀÖ´Ù. ¾î¶² °ª¿¡ 1À» ´õÇØ ´Ù½Ã ´ëÀÔÇÏ´Â a=a+1(¾î¼Àºí¸®·Î ADD [a],1)º¸´Ù °ªÀ» 1Áõ°¡½ÃÅ°´Â a++(¾î¼Àºí¸®·Î INC [a])ÀÌ ¼Óµµµµ ´õ ºü¸£°í ¸Þ¸ð¸®µµ Àû°Ô Â÷ÁöÇÑ´Ù. ±×·¯³ª C¾ð¾î Â÷¿ø¿¡¼­ a=a+1°ú a++Àº º° Â÷ÀÌ°¡ ¾ø´Âµ¥ ¿Ö³ÄÇϸé ÄÄÆÄÀÏ·¯°¡ a=a+1À» a++·Î ¹Ù²ã¼­ ÄÄÆÄÀÏÇϱ⠶§¹®ÀÌ´Ù. ÄÄÆÄÀÏ·¯´Â »ý°¢º¸´Ù ÈξÀ ´õ ¶È¶ÈÇÏ´Ù.

Áõ°¨ ¿¬»êÀÚ´Â ´Ù¸¥ ¾ð¾î¿¡´Â ¾ø´Â C¾ð¾îÀÇ ¾ÆÁÖ µ¶Æ¯ÇÑ ¿¬»êÀÚÀÌ¸ç »ç¿ëÇØ º¸¸é ¾ÆÁÖ Æí¸®ÇÏ´Ù. C¾ð¾îÀÇ ´ÙÀ½ ¹öÀüÀ» C++À̶ó°í ºÎ¸£´Âµ¥ ÀÌ À̸§¿¡ »ç¿ëµÈ ++ÀÌ ¹Ù·Î Áõ°¡ ¿¬»êÀÚ¸¦ ÀǹÌÇÑ´Ù. ±×¸¸Å­ ++Àº C¾ð¾îÀÇ Å« ÀåÁ¡ÀÌ°í ¶ÇÇÑ C¸¦ ´Ù¸¥ ¾ð¾î¿Í Â÷º°È­ÇÏ´Â »ó¡ÀûÀÎ ¿¬»êÀÚÀÎ °ÍÀÌ´Ù.

Áõ°¨ ¿¬»êÀÚ°¡ ºñ·Ï ¾ÆÁÖ Æí¸®ÇÏ°í ÁÁ±â´Â ÇÏÁö¸¸ ³Ê¹« ³²¹ßÇÏ°Ô µÇ¸é ºÎÀÛ¿ëÀÌ »ý±æ ¼öµµ ÀÖ´Ù. ÁÖ·Î º¹ÀâÇÑ ¼ö½Ä³»¿¡¼­ Áõ°¨ ¿¬»êÀÚ¸¦ »ç¿ëÇÒ ¶§ ¹®Á¦°¡ ¹ß»ýÇϴµ¥ ¾î¶² ¹®Á¦Á¡µéÀÌ ÀÖ´ÂÁö º¸ÀÚ.

 

¿¹ Á¦ : inconeline

#include <Turboc.h>

 

void main()

{

     int i=3;

 

     printf("%d, %d\n",i,++i);

}

 

3ÀÇ °ªÀ» °¡Áö´Â i¸¦ µÎ ¹ø Ãâ·ÂÇ쵂 ÇÑ ¹øÀº ±×³É i°ªÀ», ÇÑ ¹øÀº ÀüÀ§ÇüÀ¸·Î i¸¦ 1Áõ°¡½ÃÄѼ­ Ãâ·ÂÇß´Ù. ÀÌ ÄÚµåÀÇ ½ÇÇà °á°ú¿¡ ´ëÇØ ¾Æ¸¶ ´ëºÎºÐ 3, 4¸¦ ¿¹»óÇÏ°ÚÁö¸¸ ½ÇÁ¦ °á°ú´Â 4, 4·Î Ãâ·ÂµÈ´Ù. i°¡ ¸ÕÀú Ãâ·ÂµÇ°í ´ÙÀ½À¸·Î i°¡ 1Áõ°¡ÇÑ °ªÀÌ Ãâ·ÂµÇ´Â °ÍÀÌ Á¤»óÀûÀÏ °Í °°Áö¸¸ °á°ú´Â °Å²Ù·ÎÀÌ´Ù. ¿Ö³ÄÇϸé C´Â ÇÔ¼öÀÇ Àμö¸¦ µÚ¿¡¼­ºÎÅÍ ¼ø¼­´ë·Î Àü´ÞÇϱ⠶§¹®ÀÌ´Ù. Áï, ++i°¡ ¸ÕÀú ½ÇÇàµÇ¾î ±× °á°úÀÎ 4°¡ Àü´ÞµÇ°í ´ÙÀ½À¸·Î ÀÌ¹Ì 4°¡ µÇ¾î ¹ö¸° i¸¦ ÇÑ ¹ø ´õ Àü´ÞÇÑ´Ù.

CÇ¥ÁØ¿¡ Àμö Àü´Þ ¼ø¼­´Â ÁöÁ¤µÇ¾î ÀÖÁö ¾ÊÀ¸¸ç(Unspecified) ´ëºÎºÐÀÇ ÄÄÆÄÀÏ·¯´Â µÚÂÊ ÀμöºÎÅÍ Æò°¡Çϴµ¥ ¿Ö Àμö¸¦ µÚ¿¡¼­ºÎÅÍ Æò°¡Çϴ°¡ÇÏ¸é °¡º¯ Àμö¸¦ ´Ù·ç±â°¡ ÆíÇϱ⠶§¹®ÀÌ´Ù. ÀÌ ¹®Á¦´Â È£Ãâ ±Ô¾à(Calling Convention)°ú °ü·ÃµÈ ¹®Á¦ÀÌ¸ç ´ÙÀ½¿¡ »ó¼¼È÷ ¹è¿ì°Ô µÇ°ÚÁö¸¸ ¹«Ã´ º¹ÀâÇÏ´Ù. ÄÄÆÄÀÏ·¯¸¶´Ù Æò°¡ ¼ø¼­°¡ ´Þ¶óÁú ¼ö ÀÖÀ¸¹Ç·Î ÀÌ·± ¼ö½Ä¿¡¼­ ++ ¿¬»êÀÚ¸¦ »ç¿ëÇϸé À̽ļº¿¡µµ ºÒ¸®ÇÏ´Ù. ÀÌ·± º¹ÀâÇÑ ¹®Á¦¸¦ ½Å°æ¾²°í ½ÍÁö ¾ÊÀ¸¸é ¼ö½Ä³»¿¡¼­´Â Áõ°¨ ¿¬»êÀÚ¸¦ ¾²Áö ¾ÊÀ¸¸é µÈ´Ù. ¸¸¾à i¿Í i¸¦ 1Áõ°¡½ÃŲ ÈÄÀÇ °ªÀ» Ãâ·ÂÇϵµ·Ï ÇÏ°í ½Í´Ù¸é ´ÙÀ½°ú °°ÀÌ ¾²´Â °ÍÀÌ ´õ ÁÁ´Ù.

 

int i=3;

printf("%d, ",i);

++i;                                 // ¶Ç´Â i++;

printf("%d\n",i);

 

ÀÌ·¸°Ô ÇÏ¸é ¿øÇϴ´ë·Î °á°ú 3, 4°¡ ³ª¿Ã °ÍÀÌ´Ù. Äڵ尡 Á¶±Ý ±æ¾îÁö±â´Â ÇßÁö¸¸ ¾ó¸¶³ª º¸±âÁÁ°í Àб⿡ ÆíÇÑ°¡? º° »ý°¢¾øÀÌ Àб⸸ Çصµ °á°ú¸¦ ¹Ù·Î ¿¹ÃøÇÒ ¼ö ÀÖ´Ù. ´ÙÀ½ ¼ö½ÄÀ» º¸ÀÚ.

 

b=(++a+1)*a++;

b=a++ + ++a;

 

µÎ ½Ä ¸ðµÎ ¹®¹ýÀûÀ¸·Î´Â ¾Æ¹« ¹®Á¦°¡ ¾ø´Â ÇÕ¹ýÀûÀÎ ¹®ÀåÀÌ¸ç ¾ö°ÝÇÏ°Ô µûÁ® º¸¸é °á°ú¸¦ ¿¹ÃøÇÒ ¼öµµ ÀÖ´Ù. ±×·¯³ª º¸´Ù½ÃÇÇ ¼ö½ÄÀÌ ¹º°¡ ºÒ¾ÈÇØ º¸ÀÌ°í ¾î¶² Àǵµ·Î ÀÛ¼ºÇÑ ÄÚµåÀÎÁö ÇÑ´«¿¡ ¾Ë¾Æº¸±â ¾î·Æ´Ù. ´õ±¸³ª ÀÌ·± ¼ö½Ä¿¡ ´ëÇÑ Æò°¡ ¹æ¹ýÀº ÄÄÆÄÀÏ·¯¸¶´Ù ´Þ¶ó¼­ À̽ļº¿¡µµ ÁÁÁö ¾Ê´Ù. ÀÌ·± Çö¶õÇÑ ÄÚµå´Â Àý´ë·Î ¾²Áö ¸»¾Æ¾ß ÇÑ´Ù.

Çö¶õÇÏ°í º¹ÀâÇÑ Äڵ尡 ¸¹´Ù°í Çؼ­ ½Ç·ÂÀÌ ÁÁÀº ÇÁ·Î±×·¡¸Ó¶ó°í ÇÒ ¼ö ¾ø´Ù. ¿ÀÈ÷·Á ¹Ý´ë·Î È£±â½É¿¡ °¡µæÂù öºÎÁö Ãʺ¸Àϼö·Ï Çö¶õÇÑ Äڵ带 Áñ°Ü¾¸À¸·Î½á ºÎÁ·ÇÑ ½Ç·ÂÀ» °¨Ãß·Á°í ¾Ö¾²´Â ÆíÀÌ´Ù. ³²ÀÇ ¼Ò½º¸¦ º¸´Ù°¡ Àú·± Äڵ尡 º¸À̸é "ÀÌ ³à¼® ÃÊÂ¥·Î±¸¸¸"À̶ó°í »ý°¢ÇÏ¸é °ÅÀÇ Æ²¸²¾ø´Ù. °æÇèÀÖ´Â °³¹ßÀÚ´Â °áÄÚ ¾î·Á¿î Äڵ带 ¾²Áö ¾Ê´Â´Ù.

 

 Over1000

1ºÎÅÍ °è¼Ó Áõ°¡µÇ´Â Á¤¼öÀÇ ÇÕÀ» ´©Àû½ÃÅ°´Ù°¡ ÃÖÃÊ·Î 1000À» ³Ñ´Â ¼ö¸¦ ±¸ÇØ Ãâ·ÂÇ϶ó. Áï 1ºÎÅÍ ¾îµð±îÁö ´©ÀûÇØ¾ß 1000ÀÌ ³Ñ´ÂÁö¸¦ ±¸ÇÏ´Â ¹®Á¦ÀÌ´Ù.

 

Âü°í : Undefined, Unspecified

C ½ºÆÑ ¹®¼­³ª ¹®¹ý ¼­ÀûÀ» º¸¸é Á¤ÀǵÇÁö ¾Ê´Â´Ù´Â ¶æÀÇ Undefined¶ó´Â ¿ë¾î°¡ Á¾Á¾ µîÀåÇÑ´Ù. ÀÌ ¿ë¾î´Â ¾î¶»°Ô µÉ Áö ¾Ë ¼ö ¾øÀ¸¸ç °á°ú¸¦ Ã¥ÀÓÁú ¼ö ¾ø´Ù´Â ¶æÀÌ´Ù. ÀÌ·± ¿¹ Áß Çϳª´Â printfÀÇ ¼­½Ä°ú ÀμöÀÇ Å¸ÀÔÀÌ ÀÏÄ¡ÇÏÁö ¾ÊÀ» ¶§Àε¥ ½ºÆÑÀº ÀÌ·± ºñÁ¤»óÀûÀÎ »óȲ¿¡ ´ëÇØ ÀÏÀÏÀÌ ¾î¶»°Ô ó¸®ÇØ¾ß ÇÑ´Ù°í ¸í½ÃÇÏÁö ¾Ê´Â´Ù. µû¶ó¼­ ÄÄÆÄÀÏ·¯ Á¦ÀÛ»çµéÀº Á¤ÀǵÇÁö ¾ÊÀº µ¿ÀÛ¿¡ ´ëÇؼ­ ±»ÀÌ ¿¹¿Ü 󸮸¦ ÇÒ ÇÊ¿ä°¡ ¾øÀ¸¸ç °³¹ßÀÚµéÀº ÀÌ·± ¹®¹ý¿¡ ´ëÇؼ­´Â ÁÖÀǸ¦ ±â¿ïÀÏ ÇÊ¿ä°¡ ÀÖ´Ù. Á¤ÀǵÇÁö ¾ÊÀº µ¿ÀÛÀº ¿î¿¡ µû¶ó °á°ú°¡ ´Þ¶óÁö¹Ç·Î °³¹ßÇÒ ¶§³ª Å×½ºÆ®ÇÒ ¶§´Â Àß ½ÇÇàµÇ´õ¶óµµ ¸·»ó ÃÖÁ¾ »ç¿ëÀÚ°¡ ÇÁ·Î±×·¥À» ¾µ ¶§ ´Ù¿îµÉ ¼öµµ ÀÖ´Ù.

ÀÌ¿¡ ºñÇØ Unspecified¶ó´Â ¿ë¾î´Â °¡´ÉÇÑ ¸î °¡Áö ¹æ¹ý Áß ¾î¶² °ÍÀ» »ç¿ëÇ϶ó´Â °­Á¦°¡ ¾ø´Ù´Â ¶æÀ̸ç ÁöÁ¤µÇÁö ¾Ê¾Ò´Ù°í ¹ø¿ªÇÑ´Ù. ÄÄÆÄÀÏ·¯ Á¦ÀÛ»çµéÀº ÀڽŵéÀÇ ÆíÀÇ¿Í È¿À²¼º¿¡ µû¶ó ¿øÇϴ´ë·Î Á¤Ã¥À» ¼±ÅÃÇÏ¿© ÁöÁ¤µÇÁö ¾ÊÀº ±â´ÉÀ» ±¸ÇöÇÑ´Ù. ÄÄÆÄÀÏ·¯¿¡ µû¶ó °á°ú°¡ ´Þ¶óÁú ¼ö ÀÖ°í À̽ļºÀÌ ¾øÀ¸¹Ç·Î °¡±ÞÀûÀ̸é ÁöÁ¤µÇÁö ¾ÊÀº ±â´É¿¡ ÀÇÁ¸ÇÏÁö ¸»¾Æ¾ß ÇÑ´Ù. ÇöÀç´Â Àß ½ÇÇàµÇ´Âµ¥ ÄÄÆÄÀÏ·¯°¡ ¹Ù²î¸é ¾û¶×ÇÏ°Ô µ¿ÀÛÇÑ´Ù¸é ÀÌ´Â Äڵ带 ¸¸µç »ç¶÷ÀÌ Ã¥ÀÓÁ®¾ß ÇÑ´Ù.