ÄÚµù ½ºÅ¸ÀÏ(Coding Style)À̶õ Äڵ带 ÀÛ¼ºÇÏ´Â ¹æ½Ä¿¡ ´ëÇÑ °³ÀÎÀûÀÎ ±âÈ£¶ó´Â ¶æÀÌ´Ù. C/C++Àº ÇÁ¸® Æ÷¸ËÀ» Áö¿øÇϸç ÄÚµåÀÇ Çü½Ä¿¡ ´ëÇÑ ¹®¹ýÀûÀÎ Á¦¾àÀÌ ¾øÀ¸¹Ç·Î ¸¶À½´ë·Î ÀÛ¼ºÇÒ ¼ö ÀÖ´Ù. °³¹ßÀÚ´Â °³¼ºÀ» °¡Áø Àΰ£À̱⠶§¹®¿¡ ´©°¡ ÀÛ¼ºÇϴ°¡¿¡ µû¶ó ÄÚµåÀÇ ¸ð¾çÀÌ Á¶±Ý¾¿Àº ´Þ¶óÁú °ÍÀÌ´Ù. ÄÚµåÀÇ ¸ð¾çÀÌ¾ß ¾î¶»µç°£¿¡ ÄÄÆÄÀÏ·¯°¡ Äڵ带 ÇØ¼®Çϱ⿡ ¾Ö¸ÅÇÏÁö¸¸ ¾ÊÀ¸¸é ÄÄÆÄÀÏÇÏ´Â µ¥´Â ¾Æ¹«·± ¹®Á¦°¡ ¾ø´Ù.
±×·¯³ª ¶È°°Àº ³»¿ëÀÇ ¼Ò½º¶óµµ »ç¶÷ÀÌ Àб⠽±°í ±¸¹® ÆÄ¾ÇÀÌ ¿ëÀÌÇØ¾ß ÀÌÈÄ Äڵ带 ¼öÁ¤ÇÏ±â Æí¸®Çϰí È¿À²ÀûÀ¸·Î À¯Áö, º¸¼öÇÒ ¼ö ÀÖ´Ù. »Ó¸¸ ¾Æ´Ï¶ó ¼Ò½ºÀÇ ±¸Á¶°¡ Àß º¸ÀÌ¸é ½Ç¼öÇÒ °¡´É¼ºÀÌ ³·°í °ñÄ¡¾ÆÇ ¹ö±×ÀÇ À§ÇèÀ» Á¶±ÝÀÌ¶óµµ ÁÙÀÏ ¼ö ÀÖ´Ù. ÄÄÆÄÀÏ·¯´Â ±â°èÀ̹ǷΠ½ºÅ¸ÀÏÀ» ¹«½ÃÇÏÁö¸¸ ÀÌ Äڵ带 ÀÐ°í °ü¸®ÇÏ´Â »ç¶÷Àº ÄÚµù ½ºÅ¸ÀÏ¿¡ ¿µÇâÀ» ¹ÞÀ¸¹Ç·Î ÄÚµåÀÇ ÀÛ¼º ÇüÅ´ ¼Ò½ºÀÇ Ç°Áú¿¡ ¹«½ÃÇÒ ¼ö ¾ø´Â Áß¿äÇÑ ¿ä¼ÒÀÌ´Ù.
ÄÚµù ½ºÅ¸ÀÏ¿¡ Á¤´äÀ̶ó´Â °ÍÀº ¾øÀ¸¸ç °¡Àå ÁÁ´Ù°í ¼Ò¹®³ ½ºÅ¸Àϵµ ³ª¿Í ¸ÂÁö ¾ÊÀ¸¸é ¾µ ¼ö ¾ø´Ù. ¾î¶² ½ºÅ¸ÀÏÀ» ¼±ÅÃÇϵçÁö ±×°ÍÀº °³ÀÎÀÇ ÀÚÀ¯À̹ǷΠº¸±â¿¡ ÁÁ°í À¯ÁöÇÏ±â Æí¸®ÇÑ ½ºÅ¸ÀÏÀ» »ç¿ëÇ쵂 ´Ü, ÇÑ ¹ø Á¤ÇÑ ½ºÅ¸ÀÏÀº ÀϰüµÇ°Ô ÁöŰ´Â °ÍÀÌ ÁÁ´Ù. ¿©±â¼´Â ¾î¶² ÄÚµù ½ºÅ¸ÀÏÀÌ ÀÖ°í °¢°¢ÀÇ Àå´ÜÁ¡Àº ¹«¾ùÀÎÁö °´°üÀûÀ¸·Î ºñ±³ÇØ º¸±â·Î ÇÑ´Ù. ³²µéÀº ¾î¶² ½ÄÀ¸·Î Äڵ带 ÀÛ¼ºÇÏ´ÂÁö ±¸°æÇØ º¸°í ÀÚ½ÅÀÇ ½ºÅ¸ÀÏÀ» ¸¸µé¾î º¸ÀÚ.
C++, ÀÚ¹Ù, C# ¾ð¾î¸¦ ÈçÈ÷ { } °ýÈ£ ¾ð¾î¶ó°í ºÎ¸£´Âµ¥ ÀÌ´Â ÀÌ ¾ð¾îµéÀÇ °¢ ºÎºÐ¿¡ { } °ýÈ£°¡ À¯µ¶ ¸¹ÀÌ »ç¿ëµÇ±â ¶§¹®ÀÌ´Ù. { } °ýÈ£¸¦ ¹èÄ¡ÇÏ´Â Çü½ÄÀº ¼Ò½ºÀÇ Àü¹ÝÀûÀÎ ±¸Á¶¸¦ °áÁ¤ÇÏ´Â °¡Àå ´«¿¡ ¶ç´Â Â÷ÀÌÁ¡ÀÌ¸ç ¶ÇÇÑ °³¹ßÀÚ¸¶´Ù °¢°¢ÀÇ ½ºÅ¸ÀÏÀ» °íÁýÇÏ´Â ´ëÇ¥ÀûÀÎ ¿¹ÀÌ´Ù. ¿©·¯ °¡Áö ½ºÅ¸ÀÏÀÌ ÀÖÁö¸¸ ´ëÇ¥ÀûÀÎ ¼¼ °¡Áö ½ºÅ¸ÀÏÀ» µé¾î º¸¸é ´ÙÀ½°ú °°´Ù. if ¹®À» ¿¹·Î µé¾ú´Âµ¥ for, switch µî ´ëºÎºÐÀÇ Á¦¾î ±¸Á¶¿¡µµ ÀÌ ½ºÅ¸ÀϵéÀÌ Àû¿ëµÈ´Ù.
if (Á¶°Ç) { ¸í·É } |
if (Á¶°Ç) { ¸í·É } |
if (Á¶°Ç) { ¸í·É } |
GNU |
K&R |
BSD |
¼¼ Çü½Ä ¸ðµÎ ´Ý´Â °ýÈ£´Â º°µµ·Î ÇÑ ÁÙ¿¡ ÀÛ¼ºÇÏÁö¸¸ ¿©´Â °ýÈ£ÀÇ À§Ä¡¿Í ºí·Ï ³»ÀÇ µé¿© ¾²±â ¹æ½ÄÀÌ ´Ù¸£´Ù. ¾îÂ À¯¸íÇÑ ½ºÅ¸ÀÏÀÎÁö À̸§±îÁö ºÙ¾î ÀÖ´Ù.
¡á GNU ½ºÅ¸ÀÏ : { } ºí·ÏÀ» if¹® ¾Æ·¡ÂÊ¿¡ ÀÛ¼ºÇÑ´Ù. if ¹®¿¡ ¼ÓÇÑ ÇÏÀ§ ºí·ÏÀÓÀ» ºÐ¸íÈ÷ Ç¥½ÃÇϱâ À§ÇØ ºí·ÏÀ» Åë°·Î ¾ÈÀ¸·Î µé¿© ¾²°í ºí·Ï³»ÀÇ ¸í·Éµµ { °ýÈ£º¸´Ù Çϳª ´õ ¾ÈÂÊÀ¸·Î µé¿©¾´´Ù. °¡²û ¸í·ÉÀ» { } °ýÈ£¿Í °°Àº ·¹º§¿¡ µé¿©¾²´Â º¯ÇüµÈ ½ºÅ¸ÀÏÀ» ¾²´Â °æ¿ìµµ ÀÖ´Ù. ±¸Á¶°¡ Á¦ÀÏ Àß º¸ÀÌ´Â ½ºÅ¸ÀÏÀ̱â´Â ÇÏÁö¸¸ µé¿©¾²´Â Á¤µµ°¡ ³Ê¹« ½ÉÇØ¼ ¼öÆòÀ¸·Î ¸¹Àº Äڵ带 ÀÛ¼ºÇÒ ¼ö ¾ø´Ù´Â °ÍÀÌ ´ÜÁ¡ÀÌ´Ù.
¡á K&R ½ºÅ¸ÀÏ : C¾ð¾îÀÇ Ã¢½ÃÀÚµéÀÌ ÈçÈ÷ Áñ°Ü ½è´ø ½ºÅ¸ÀÏÀ̸ç C++ÀÇ Ã¢½ÃÀÚÀÎ ½ºÆ®·Î½ºÆ®·ìµµ ÀÌ ½ºÅ¸ÀÏ·Î ¹®¼¸¦ ÀÛ¼ºÇÑ´Ù. ºí·ÏÀ» ¿©´Â °ýÈ£°¡ ºí·Ï ½ÃÀÛÇàÀÇ ³¡¿¡ ÀÖ´Ù´Â Á¡ÀÌ Æ¯ÀÌÇÏ¸ç ¸í·ÉÀº ºí·Ï ¾ÈÂÊÀ¸·Î µé¿©¾´´Ù. Á¶°ÇÀýÀ» ÁÖ¼® ó¸®ÇÒ ¶§ ¾à°£ ºÒÆíÇÑ ¸éÀÌ ÀÖÀ¸³ª if¸¦ ºí·Ï ½ÃÀÛÀ¸·Î º¸¹Ç·Î ºí·Ï ±¸Á¶ ÆÄ¾Ç¿¡´Â Å« ¹«¸®°¡ ¾ø´Ù. ÀÌ ½ºÅ¸ÀÏÀÇ °¡Àå Å« ÀåÁ¡Àº ¿©´Â °ýÈ£°¡ ÇÑ ÁÙÀ» Â÷ÁöÇÏÁö ¾Ê¾Æ ¼öÁ÷À¸·Î ´õ ¸¹Àº Äڵ带 º¼ ¼ö ÀÖ´Ù´Â Á¡ÀÌ´Ù.
¡á BSD ½ºÅ¸ÀÏ : GNU ½ºÅ¸Àϰú K&R ½ºÅ¸ÀÏÀÇ ÀåÁ¡¸¸À» ÃëÇÑ´Ù. ¿©´Â °ýÈ£°¡ º°µµÀÇ ÁÙ¿¡ ÀÛ¼ºµÇ¾î ¼Ò½º°¡ Á» ´õ ±æ¾îÁö´Â ´ÜÁ¡ÀÌ ÀÖÁö¸¸ ºí·Ï ±¸Á¶°¡ ´õ Àß º¸ÀÌ¸ç ºí·ÏÀÌ if¿Í °°Àº ·¹º§¿¡ ÀÖ¾î µé¿©¾²±âµµ ½ÉÇÏÁö ¾Ê´Ù. ºí·ÏÀÇ ½ÃÀÛ°ú ³¡ÀÌ ÇÑ ´«¿¡ µé¾î¿À°í ¼öÆò À§Ä¡°¡ °°¾Æ À¯Áö, º¸¼ö¿¡´Â °¡Àå À¯¸®ÇÑ ½ºÅ¸ÀÏÀÌ´Ù.
¼¼ ½ºÅ¸ÀÏ ¸ðµÎ ÇÔ¼ö¸¦ Á¤ÀÇÇÒ ¶§´Â ¿©´Â Áß°ýÈ£¸¦ º°µµÀÇ Çà¿¡ µû·Î ¹èÄ¡ÇÑ´Ù. if ¹®À̳ª for¿¡ °É¸®´Â ¸í·ÉÀÌ Çϳª »ÓÀ̶ó¸é ±»ÀÌ { }¸¦ ¾²Áö ¾Ê¾Æµµ »ó°ü¾øÁö¸¸ È®À强¿¡ ºÒ¸®Çϱ⠶§¹®¿¡ ÀϹÝÀûÀ¸·Î ±ÇÀåµÇÁö ¾Ê´Â´Ù.
ÀÌ ¼¼ °¡Áö ½ºÅ¸ÀÏ Áß GNU ½ºÅ¸ÀÏÀº »ó´ëÀûÀ¸·Î ÀαⰡ ¾ø´Â ÆíÀ̸ç K&R ½ºÅ¸Àϰú BSD ½ºÅ¸ÀÏÀÌ ÁÖ·Î ¸¹ÀÌ ¾²ÀÌ´Â ½ºÅ¸ÀÏÀÌ´Ù. µÎ ½ºÅ¸ÀÏÀÇ °¡Àå Å« Â÷ÀÌÁ¡Àº { °ýÈ£ÀÇ À§Ä¡Àε¥ ºí·Ï³¢¸® ÁßøµÉ ¶§ ¼öÁ÷ ±æÀÌ¿¡ ¸¹Àº Â÷À̰¡ ÀÖ´Ù. BSD ½ºÅ¸ÀÏÀÌ ¿©´Â °ýÈ£ÀÇ °³¼ö¸¸Å ´õ ±æ¾îÁø´Ù.
if (k == 5) { for (i = 0;i < 10;i++) { if (ar[i] == 10) { func(ar[i]); } else { proc(ar[i]); } } } |
if (k == 5) { for (i = 0;i < 10;i++) { if (ar[i] == 10) { func(ar[i]); } else { proc(ar[i]); } } } |
¼öÁ÷ ±æÀ̰¡ ´õ ±æ¾îÁø´Ù´Â °ÍÀº ÇÑ È¸é¿¡ ¸¹Àº Äڵ带 º¼ ¼ö ¾ø´Ù´Â ¶æÀÌ¸ç ¾Æ·¡ À§·Î ½ºÅ©·ÑÇØ°¡¸ç Àоî¾ß ÇÏ´Â ºÒÆíÇÔÀÌ ÀÖ´Ù. ¶ÇÇÑ Äڵ带 ÀμâÇßÀ» ¶§ ¿ëÁö¸¦ ³Ê¹« ¸¹ÀÌ ³¶ºñÇÑ´Ù´Â °æÁ¦ÀûÀÎ ÀÌÀ¯µµ ¹«½ÃÇÒ ¼ö ¾ø´Ù. ÀÌ·± ÀÌÀ¯·Î °ú°Å¿¡´Â K&R ½ºÅ¸ÀÏÀÌ ÁÖ·Î ¸¹ÀÌ »ç¿ëµÇ¾úÀ¸³ª ¿äÁòÀº °íÇØ»óµµ ¸ð´ÏÅÍÀÇ µµ¿òÀ» ¹ÞÀ» ¼ö ÀÖÀ¸¹Ç·Î Á¡Á¡ BSD ½ºÅ¸ÀÏÀ» ´õ ¼±È£ÇÏ´Â ÆíÀÌ´Ù. Çϵå¿þ¾î Áö¿øÀÌ ÃæºÐÇÏ´Ù¸é BSD ½ºÅ¸ÀÏÀÌ ¸ð¾çÀº °¡Àå ÁÁ´Ù.
µé¿©¾²±â(Indentation)¶õ ºí·Ï ¾ÕÂÊ¿¡ ÅÇÀ̳ª °ø¹éÀ» ³Ö¾î »óÀ§ ºí·Ïº¸´Ù ´õ ¾ÈÂÊ¿¡ ¹èÄ¡ÇÏ¿© ÄÚµåÀÇ Á¾¼ÓÀûÀÎ °ü°è¸¦ Ç¥ÇöÇÏ´Â ±â¹ýÀÌ´Ù. µé¿©¾²±â¸¦ ÇÏÁö ¾ÊÀ¸¸é ¼Ò½ºÀÇ ³í¸®ÀûÀÎ ±¸Á¶°¡ Àß ÆÄ¾ÇµÇÁö ¾ÊÀ¸¸ç ºí·Ï ±¸Á¶¸¦ ¼öÁ¤ÇÒ ¶§ ½Ç¼öÇÒ °¡´É¼ºÀÌ ³ôÀ¸¹Ç·Î ¹Ýµå½Ã ÇØ¾ß ÇÑ´Ù. ´ëºÎºÐÀÇ ÆíÁý±â´Â ÀÚµ¿ µé¿©¾²±â¸¦ Áö¿øÇϹǷΠÆíÁý±âÀÇ ¾È³»´ë·Î¸¸ ¼Ò½º¸¦ ÀÛ¼ºÇصµ Å« ¹®Á¦´Â ¾ø´Ù.
µé¿©¾²±â¸¦ ÇÒ ¶§´Â ÅÇÀ̳ª °ø¹éÀ» »ç¿ëÇÑ´Ù. ÅÇÀº ÀÏÁ¤ ¼öÀÇ °ø¹éÀ» ´ë½ÅÇϴµ¥ ÅÇ Çϳª¿¡ ¸î °³ÀÇ °ø¹éÆøÀ» »ç¿ëÇÒ °ÍÀΰ¡¸¦ ¼±ÅÃÇÒ ¼ö ÀÖ´Ù. ÀϹÝÀûÀ¸·Î 4°¡ °¡Àå ¹«³ÇÏÁö¸¸ Á» ´õ ½Ã¿ø½º·´°Ô º¸ÀÌ°í ½Í´Ù¸é 8À» ¾µ ¼öµµ ÀÖ°í ¼öÆòÀ¸·Î ³Ê¹« ±í°Ô µé¿©¾²±â ½È´Ù¸é 2¸¦ ¾µ ¼öµµ ÀÖ´Ù. ÅÇÀº Á¦¾î ÄÚµå Çϳª·Î ¿©·¯ °³ÀÇ °ø¹éÀ» µé¿©¾µ ¼ö ÀÖ¾î ¹®¼ Å©±â°¡ ÀÛ¾ÆÁø´Ù´Â ÀåÁ¡ÀÌ ÀÖÁö¸¸ ÆíÁý±â¿¡ µû¶ó ÆøÀÌ Æ²·ÁÁ® ¹®¼°¡ ½±°Ô ±úÁø´Ù´Â ´ÜÁ¡µµ ÀÖ´Ù.
class Some
{
int value; // Á¤¼ö ¸â¹ö
double rate; // ½Ç¼ö ¸â¹ö
unsigned u; // ºÎÈ£¾ø´Â Á¤¼ö ¸â¹ö
};
ÅÇÆøÀÌ 4ÀÎ ÆíÁý±â·Î ¸â¹ö º¯¼ö¸í°ú ÁÖ¼®ÀÇ ¼öÁ÷ À§Ä¡¸¦ º¸±â ÁÁ°Ô Àß Á¤·ÄÇØ ³õ¾Ò´Ù. ¸â¹öÀÇ Å¸ÀÔ, À̸§, ÁÖ¼®ÀÌ Àϸñ ¿ä¿¬ÇÏ°Ô ÆÄ¾ÇµÇ¹Ç·Î ¾ÆÁÖ ±ò²ûÇÏ´Ù. ±×·¯³ª ¶È°°Àº ¼Ò½º¸¦ ÅÇÆøÀÌ 8ÀÎ ÆíÁý±â·Î ¿¾î º¸¸é ¸ð¾çÀÌ ¿ÏÀüÈ÷ ¹Ù²î¾î ¹ö¸®¸ç ÅÇÆøÀÌ °°´õ¶óµµ ±Û²ÃÀÌ ¹Ù²î¸é Á¤·Ä »óŰ¡ ±úÁú ¼öµµ ÀÖ´Ù. ÅÇ ¹®ÀÚ´Â Àý´ëÀûÀÎ ÆøÀÌ ¾ø°í ÁÖº¯ »óȲ¿¡ µû¶ó ´ÙÀ½ À§Ä¡°¡ °áÁ¤µÇ´Â ³í¸®ÀûÀÎ Æ÷¸Ë ÁöÁ¤À» Çϱ⠶§¹®ÀÌ´Ù.
class Some
{
int value; // Á¤¼ö ¸â¹ö
double rate; // ½Ç¼ö ¸â¹ö
unsigned u; // ºÎÈ£¾ø´Â Á¤¼ö ¸â¹ö
};
ÆíÁý±â¸¦ ´Ã»ó °°Àº °É·Î¸¸ ¾´´Ù¸é ÅÇÀÌ Æí¸®ÇÏÁö¸¸ ÀÌ°Í Àú°Í ¹Ù²ã°¡¸ç ¾´´Ù°Å³ª ¿©·¯ »ç¶÷ÀÌ °°ÀÌ ÀÛ¾÷ÇØ¾ß ÇÑ´Ù¸é ÅÇÀº ¹®¼ÀÇ ¸ð¾çÀ» ÀÏÁ¤ÇÏ°Ô À¯ÁöÇÏ´Â ¿ªÇÒÀ» ÇÏÁö ¸øÇÑ´Ù. ±×·¡¼ ÅÇ ´ë½Å °ø¹éÀ» »ç¿ëÇÏ°í °íÁ¤Æø ±Û²ÃÀ» »ç¿ëÇÏ´Â »ç¶÷µéµµ Àִµ¥ ÀÌ·¸°Ô ÇÏ¸é ÆíÁý±â¿¡ ¿µÇâÀ» ¹ÞÁö ¾Ê°í Ç×»ó ÀÏÁ¤ÇÑ ¸ð¾çÀ» À¯ÁöÇÒ ¼ö ÀÖ´Ù. ±×·¯³ª °ø¹éÀº Ä¿¼¸¦ À̵¿ÇÒ ¶§ À̵¿ ¼Óµµ°¡ ´À¸®°í ¹®¼°¡ Ä¿Áø´Ù´Â ´ÜÁ¡ÀÌ ÀÖ´Ù. ´ëºÎºÐÀÇ ÆíÁý±â´Â µé¿©¾²±â¿¡ °ø¹éÀ̳ª ÅÇÀ» ¼±ÅÃÇÒ ¼ö ÀÖµµ·Ï µÇ¾î ÀÖ´Ù.
ÀϹÝÀûÀÎ ºí·ÏÀÇ µé¿©¾²±â ¹æ½ÄÀº ´ëü·Î ÇÑ ¼öÁØ ³»·Á°¥ ¶§ Çѹø µé¿©¾²´Â °ÍÀ¸·Î ÅëÀϵǾî ÀÖ´Ù. for ¹Ýº¹¹®À̳ª if Á¶°Ç¹®ÀÌ ½ÃÀÛµÉ ¶§ µé¿©¾²°í ³¡³¯ ¶§ ´Ù½Ã ³»¾î¾²¸é ºí·ÏÀÇ Áßø ±¸Á¶¸¦ ½±°Ô Ç¥ÇöÇÒ ¼ö ÀÖ¾î º°´Ù¸¥ º¯ÇüÀÌ ¾ø´Ù. ±×·¯³ª switch ¹®ÀÇ µé¿©¾²±â ¹æ½ÄÀº Â÷À̰¡ Àִµ¥ case¸¦ switchº¸´Ù µé¿©¾²´Â °æ¿ì°¡ ÀÖ°í ±×·¸Áö ¾ÊÀº °æ¿ì°¡ ÀÖ´Ù.
switch (value) { case 1: ¸í·É; break; case 2: |
switch (value) { case 1: ¸í·É; break; case 2: |
case¸¦ µé¿©¾²´Â ÂÊÀÌ º¸±â¿¡´Â ´õ ½Ã¿ø½º·´Áö¸¸ case ¾ÈÂÊÀ» ¶Ç µé¿©½á¾ß ÇϹǷΠ±íÀ̰¡ ³Ê¹« ±í¾îÁø´Ù. switch°¡ µÎ ¹ø¸¸ ÁßøµÇ¾îµµ 4¹ø µé¿©¾²±â µÇ¾î ¼Ò½º°¡ ¿À¸¥ÂÊÀ¸·Î Ä¡¿ìÄ¡´Â °æÇâÀÌ ÀÖÀ¸¸ç ÀÌ·¸°Ô µÇ¸é ¼Ò½º µÞºÎºÐÀ» Àбâ À§ÇØ ¼öÆò ½ºÅ©·ÑÀ» ÇØ¾ß ÇϹǷΠ¹ø°Å·Î¿ÍÁø´Ù. º¸Åë case´Â switch¿Í °°Àº ·¹º§¿¡ µÎ°í case¾ÈÂʸ¸ µé¿©¾²´Â °ÍÀÌ °¡Àå ¹«³ÇÏ´Ù.
¼Ò½ºÀÇ ¿À¸¥ÂÊ ³¡À» ¾îµðÂë¿¡ ¸ÂÃâ °ÍÀÎÁöµµ Áß¿äÇÑ °áÁ¤ »çÇ× Áß ÇϳªÀε¥ ¼öÆòÀ¸·Î ³Ê¹« ±æ°Å³ª µé¿©¾²±â°¡ ±í¾îÁö¸é ºÒÆíÇØÁø´Ù. °ú°Å µµ½º ȯ°æÀÇ ¿µÇâÀ¸·Î ÀÎÇØ Åë»ó 80Ä÷³ Á¤µµ¿¡ ¸ÂÃß´Â °ÍÀÌ º¸ÅëÀÌ´Ù. ÀÌ ±æÀ̸¦ ³Ñ¾î¼¸é Àû´çÇÑ °÷¿¡¼ °Á¦ °³ÇàÀ» ÇÏ´Â °ÍÀÌ ÁÁ´Ù. ÆíÁý ȯ°æÀÇ ÇØ»óµµ°¡ Á» ´õ ³ô´Ù¸é 100Ä÷³ Á¤µµ±îÁöµµ Å« ¹®Á¦´Â ¾øÁö¸¸ ±×º¸´Ù ´õ ±æ°Ô ÀÛ¼ºÇÏ´Â °ÍÀº º°·Î ¹Ù¶÷Á÷ÇÏÁö ¾Ê´Ù.
ºó ÁÙÀº ¾Æ¹« °Íµµ ¾øÀÌ °³Çุ ÇÏ´Â ÁÙÀÌÁö¸¸ °¡µ¶¼º ³ôÀº ¼Ò½º¸¦ ÀÛ¼ºÇϴµ¥ Áß¿äÇÑ ¿ªÇÒÀ» ÇÑ´Ù. ÇÔ¼ö´Â °³º°ÀûÀÎ ÀÛ¾÷ÀÇ ´ÜÀ§À̹ǷΠº¸Åë ºó ÁÙÀ» Çϳª¾¿ ³Ö¾î¾ß ÇÔ¼ö°£ÀÇ ±¸ºÐÀÌ ¿ëÀÌÇÏ°í º¸±â¿¡µµ ½Ã¿ø½º·´´Ù. ´Ü¼ø º¯¼ö ¼±¾ð¹®µéÀº ºÙ¿©¼ ¾²Áö¸¸ ±¸Á¶Ã¼³ª Ŭ·¡½º°°ÀÌ µ¢Ä¡°¡ Å« ŸÀÔ ¼±¾ð¹®µéµµ ºó ÁÙ·Î ±¸ºÐÇÏ´Â °ÍÀÌ ÁÁ´Ù.
ÇÔ¼ö ³»ºÎ¿¡µµ ºó ÁÙÀÌ Á¾Á¾ »ç¿ëµÇ´Âµ¥ ¼±µÎÀÇ Áö¿ª º¯¼ö ¼±¾ð¹®°ú º»Ã¼ ÄÚµå »çÀÌ¿¡µµ °³ÇàÀ» ÇÏ´Â °ÍÀÌ º¸ÅëÀ̸ç ÇÔ¼ö ³»ºÎÀÇ ÄÚµå µ¢¾î¸® »çÀÌ¿¡µµ ºó ÁÙÀ» ³Ö¾î ´Ù¸¥ ÀÛ¾÷ ±×·ìÀÓÀ» ºÐ¸íÈ÷ ÇØ¾ß ÇÑ´Ù. ³Ê¹« ºÙ¿© ¹ö¸®¸é ¾îµð±îÁö°¡ ¾î¶² µ¿ÀÛÀ» ÇÏ´Â ÄÚµåÀÎÁö Àß ÆÄ¾ÇµÇÁö ¾Ê¾Æ Äڵ带 ÀбⰡ ¾î·Á¿öÁø´Ù. º¸Åë ·çÇÁ³ª Á¶°Ç¹® µîÀÌ »õ·Î ½ÃÀÛµÉ ¶§¸¶´Ù ºó ÁÙÀ» Çϳª¾¿ »ðÀÔÇÏ´Â ÆíÀÌ´Ù.
ÀÌ Ã¥¿¡¼ ÀÛ¼ºÇÑ ¿¹Á¦µéÀ» º¸¸é ÇÔ¼ö Áß°£ Áß°£¿¡ »ðÀԵǾî ÀÖ´Â ºó ÁÙÀ» ÈçÇÏ°Ô º¼ ¼ö ÀÖ´Ù. ¿¹¸¦ µé¾î ¼ÒÄÚ¹ÝÀÇ Move ÇÔ¼ö¸¦ º¸¸é Áö¿ª º¯¼ö ¼±¾ð¹®°ú ¹æÇâ¿¡ µû¶ó À̵¿ °Å¸®¸¦ Á¶»çÇÏ´Â switch¹® »çÀÌ¿¡ ºó ÁÙÀÌ ÀÖ°í switch¹®°ú ½ÇÁ¦·Î À̵¿À» ÇÏ´Â if ºí·Ï »çÀÌ¿¡µµ ºó ÁÙÀÌ ÀÖ¾î °¢ ÄÚµå ºÎºÐÀ» ³í¸®ÀûÀ¸·Î ±¸ºÐÇÑ´Ù. main ÇÔ¼ö¸¦ ºÁµµ Àü¿ª ÃʱâÈ, ½ºÅ×ÀÌÁö ÃʱâÈ, ÀÔ·Â ¹× ó¸®, °ÔÀÓ ³¡ ÆÇº° µîÀÇ ÅÁ÷ÇÑ µ¢¾î¸® »çÀÌ¿¡ ºó ÁÙÀÌ »ðÀԵǾî ÀÖ´Ù.
Ŭ·¡½º ¼±¾ð¹® ³»ºÎ¿¡µµ ¾×¼¼½º ÁöÁ¤ÀÚº°·Î ºó ÁÙÀ» Çϳª¾¿ »ðÀÔÇÏ¿© ¸â¹öµéÀÇ ±×·ìÀÌ Àß º¸À̵µ·Ï ÇØ¾ß ÇÑ´Ù. ¶ÇÇÑ ¸â¹öÀÇ ¿ëµµ¿¡ µû¶ó Àû´çÈ÷ ºó ÁÙ·Î ±×·ìÀ» ³ª´©¾î ³õÀ¸¸é º¸±â¿¡ ÈξÀ ´õ ÁÁ°í »õ·Î¿î ¸â¹ö¸¦ Ãß°¡ÇÒ Àå¼Ò¸¦ ã±âµµ ¿ëÀÌÇÏ´Ù. ºó ÁÙÀÌ ³Ê¹« ¸¹À¸¸é ¼Ò½º°¡ ±æ¾îÁö´Â ´ÜÁ¡ÀÌ ÀÖ±â´Â ÇÏÁö¸¸ Àû´çÇÑ ¿©¹éÀÌ ¾øÀ¸¸é ¼Ò½º°¡ ³Ê¹« °©°©ÇØ º¸À̹ǷΠÇÊ¿äÇÑ °÷¿¡´Â ¾Æ³¦¾øÀÌ ºó ÁÙÀ» ³Öµµ·Ï ÇÏÀÚ.
°ø¹éÀº ½±°Ô ¸»Çؼ ½ºÆäÀ̽º Çϳª¸¦ »ðÀÔÇÏ´Â °ÍÀε¥ ¹®¹ýÀûÀ¸·Î °ø¹éÀÌ ¾ø´õ¶óµµ ÄÄÆÄÀÏ·¯´Â ¼Ò½º¸¦ Àß ÇØ¼®ÇÏÁö¸¸ ÀûÀýÈ÷ ¶ç¿ö ³õÀ¸¸é ¼Ò½ºÀÇ °¡µ¶¼ºÀ» ³ôÀÏ ¼ö ÀÖ´Ù. °ø¹é¿¡ ´ëÇØ¼µµ ÀϹÝÀûÀ¸·Î Àû¿ëµÇ´Â ÁöħÀÌ Àִµ¥ Ű¿öµå¿Í ¿©´Â °ýÈ£ »çÀÌ¿¡´Â °ø¹éÀ» ³Ö´Â´Ù. ¿¹¸¦ µé¾î if (...)À̳ª for (...) µîÀÇ ¿¹¿¡¼ if¿Í ¿©´Â °ýÈ£, for¿Í ¿©´Â °ýÈ£ »çÀÌ¿¡ °ø¹éÀÌ Çϳª µé¾î°£´Ù.
±×·¯³ª ÇÔ¼ö¿Í °ýÈ£ »çÀÌ¿¡´Â ÀϹÝÀûÀ¸·Î °ø¹éÀ» ³ÖÁö ¾Ê´Â´Ù. strcpy(...), printf(...) µî°ú °°ÀÌ ÇÔ¼ö¿Í Àμö¿ÀÇ °ýÈ£¸¦ ¹Ù·Î ºÙ¿© ¾´´Ù. ÇÔ¼ö¿Í ½ÇÀμö ¸ñ·ÏÀ» ÇϳªÀÇ ¹®ÀåÀ» º»´Ù´Â ½Ã°¢ÀÌ´Ù. GNU ½ºÅ¸ÀÏÀº strcpy ( ... )°ú °°ÀÌ ÇÔ¼ö¿Í °ýÈ£ »çÀ̵µ ¶ç¿ì°í ù ¹øÂ° ½ÇÀμö¿Í ¿©´Â °ýÈ£µµ ¶ç¿ì´Â °ÍÀÌ ÀϹÝÀûÀε¥ Àͼ÷ÇÏÁö ¾ÊÀº »ç¶÷Àº ´Ù¼Ò ¾î»öÇØ º¸ÀδÙ.
ÀÌÇ× ¿¬»êÀÚ¿Í ÇÇ¿¬»êÀÚ »çÀÌ¿¡µµ °ø¹éÀ» ³Ö´Â´Ù. a = 1; À̳ª a = b + c; ÀÌ·± ½ÄÀ¸·Î ¸»ÀÌ´Ù. a=1;ó·³ µü ºÙ¿© ¹ö¸®¸é Á¶±Ý °©°©ÇØ º¸À̸ç a=b+c;µµ Àб⿡ ½±Áö ¾Ê´Ù. ±×·¯³ª ¿¹¿ÜÀûÀ¸·Î . ¿¬»êÀÚ¿Í -> ±×¸®°í [ ] ¿¬»êÀÚ´Â Á¿캯ÀÌ ±²ÀåÈ÷ ±ä¹ÐÇÑ °ü°èÀ̹ǷΠºÙ¿© ¾´´Ù. obj.mem ÀÌ·¸°Ô ºÙ¿©¼ ¾²´Â °ÍÀÌ ÀϹÝÀûÀ̰í obj . mem ÀÌ·¸°Ô ¶ç¿ì´Â »ç¶÷Àº °ÅÀÇ ¾ø´Ù. *pi, a++ µîÀÇ ´ÜÇ× ¿¬»êÀÚ´Â ÇϳªÀÇ ¿¬»ê ´ÜÀ§À̹ǷΠ°ø¹éÀ» µÎÁö ¾Ê´Â´Ù.
a = b + c * d + 3 + 8;
a = arScore[3] * pRecord->Rate;
Æ÷ÀÎÅÍ ¼±¾ð¹®ÀÇ °æ¿ì °ø¹é À§Ä¡°¡ ¾Ö¸ÅÇѵ¥ º¸Åë ´ÙÀ½ µÎ °¡Áö ½ºÅ¸ÀÏÀÌ »ç¿ëµÈ´Ù. ÀÌ ¿Ü¿¡ * ¾Õ µÚ·Î °ø¹éÀ» ´Ù ³Ö´Â ½ºÅ¸Àϵµ ÀÖ±â´Â ÇÏ´Ù.
int *pi;
int* pi;
ÀÌ µÎ ½ºÅ¸ÀÏÀº ¶È°°Àº ¼±¾ð¹®ÀÌÁö¸¸ ÀǵµÇÏ´Â ¹Ù´Â ¾à°£ ´Ù¸¥µ¥ ÀüÀÚ´Â Á¤¼öÇüÀÇ Æ÷ÀÎÅÍ º¯¼ö¶ó´Â ¶æÀ̰í ÈÄÀÚ´Â Á¤¼ö Æ÷ÀÎÅÍÇü º¯¼ö¶ó´Â ¶æÀÌ´Ù. C¾ð¾î¿¡¼´Â ÀüÀÚ°¡ ¸¹ÀÌ »ç¿ëµÇ¾ú°í C++¾ð¾î¿¡¼´Â ÈÄÀÚ¸¦ ÁÖ·Î »ç¿ëÇ쵂 Á¤¼öÇü°ú Á¤¼ö Æ÷ÀÎÅÍÇüÀ» ÇÑ ÁÙ¿¡ °°ÀÌ ¼±¾ðÇÒ ¶§ ¹®Á¦°¡ Á» ÀÖ¾î ¼±¾ð¹® Çϳª´ç ÇϳªÀÇ º¯¼ö¸¸ ¼±¾ðÇÒ °ÍÀ» ±ÇÀåÇÑ´Ù. ÇÔ¼ö È£Ãâ¹®À̳ª Á¤Àǹ®ÀÇ Àμö ¸ñ·Ï »çÀÌ¿¡µµ ÄÞ¸¶ µÚ¿¡ °ø¹éÀ» ³Ö´Â °ÍÀÌ ÀϹÝÀûÀÌ´Ù.
ÇÔ¼ö Á¤Àǽà : void func(int a, double b, char c);
ÇÔ¼ö È£Ãâ½Ã : func(123, 4.5, 'Z');
¿©·¯ °³ÀÇ ÀμöµéÀÌ ³ª¿µÇ¹Ç·Î Àμö ¸ñ·Ï »çÀÌ¿¡ °ø¹éÀ» µÎÁö ¾ÊÀ» °æ¿ì Àμö°£ÀÇ ±¸ºÐÀÌ ¿ëÀÌÇÏÁö ¾Ê´Ù. ºñ½ÁÇÏ°Ô ¹è¿À̳ª ±¸Á¶Ã¼ Ãʱâ½ÄÀÇ ÃʱⰪµé »çÀÌ¿¡µµ °¡±ÞÀûÀ̸é ÄÞ¸¶¿Í °ø¹éÀ» °°ÀÌ ³Ö´Â °ÍÀÌ ÁÁ´Ù.
º¯¼ö³ª ÇÔ¼ö, ŸÀÔÀÇ À̸§Àº ¸ðµÎ ¸íĪÀ¸·Î ÀÛ¼ºµÇ´Âµ¥ ¸íĪÀÇ Ã¹ ¹øÂ° ¿ä°ÇÀº ´Ù¸¥ ¸íΰú ±¸ºÐµÇ´Â À̸§À» °¡Á®¾ß ÇÑ´Ù´Â °ÍÀÌ¸ç ¶ÇÇÑ Ç¥ÇöÇϰíÀÚ ÇÏ´Â ´ë»ó°ú ¿¬°üµÈ À̸§À» °¡Á®¾ß ÇÑ´Ù. ±¸ºÐÀ» À§Çؼ´Â ±æÀ̰¡ ³Ê¹« ª¾Æ¼´Â ¾ÈµÇ¸ç ÀÔ·ÂÀÇ ÆíÀǸ¦ À§Çؼ´Â ³Ê¹« ±æ¾î¼µµ ¾ÈµÇ´Âµ¥ º¸Åë 3 ~ 10 ÀÚ Á¤µµ°¡ ÀûÇÕÇÏ´Ù. ¸íĪÀÇ ´ë¼Ò¹®ÀÚ ±¸¼ºÀ̳ª Á¢µÎ, Á¢¹Ì¸¦ ºÙÀÌ´Â ¹æ¹ýµµ ´Ù¾çÇѵ¥ ´ëÇ¥ÀûÀ¸·Î ´ÙÀ½ ¼¼ °¡Áö Á¤µµ¸¦ µé ¼ö ÀÖ´Ù.
ÀüºÎ ¼Ò¹®ÀÚ : score, remaintime, callnextlink
¾î±Ù¸¸ ´ë¹®ÀÚ : Score, RemainTime, CallNextLink
³«Å¸Çü : score, remainTime, callNextLink
ÀÌ ¿Ü¿¡ Remain_Time µî°ú °°ÀÌ ´Ü¾î Áß°£¿¡ _¸¦ ³Ö´Â ¹æ¹ýµµ Àִµ¥ ŸÀÌÇÁ Çϱ⿡´Â Á¶±Ý ºÒÆíÇÏÁö¸¸ Àб⿡´Â °¡Àå ÁÁÀº ¸íĪÀÌ´Ù. ±×·¯³ª ¹ØÁÙ·Î ½ÃÀÛÇÏ´Â ¸íĪÀº Ç¥ÁØÀÌ Àå·¡ÀÇ ¿¹¾à¾îÈ®ÀåÀ» À§ÇØ ±ÝÁöÇϰí ÀÖÀ¸¹Ç·Î »ç¿ëÇÏÁö ¸»¾Æ¾ß ÇÑ´Ù. ¸ÅÅ©·Î »ó¼ö´Â ÀüºÎ ´ë¹®ÀÚ·Î ÀÛ¼ºÇÏ´Â °ÍÀÌ º¸ÆíÀûÀÌ´Ù.
ÇÔ¼ö¿Í º¯¼ö, ŸÀÔ µî¿¡ µû¶ó À̸§À» ´Ù¸£°Ô ÀÛ¼ºÇÏ´Â °æ¿ìµµ Àִµ¥ º¯¼ö´Â ¸ðµÎ ¼Ò¹®ÀÚ·Î ÇÔ¼ö´Â ù ±ÛÀÚ¸¸ ´ë¹®ÀÚ·Î ÀÛ¼ºÇÏ´Â ½ÄÀÌ´Ù. ÀÌ ¿Ü¿¡ º¯¼öÀÇ À̸§¿¡ b, a, p µîÀÇ Á¢µÎ¸¦ ºÙ¿© À̸§¸¸À¸·Î ŸÀÔÀ» ºÐ¸íÈ÷ ¾Ë ¼ö ÀÖµµ·Ï ÇÏ´Â ¹æ¹ýµµ ÈçÈ÷ »ç¿ëµÇ´Âµ¥ ƯÈ÷ Æ÷ÀÎÅÍ Å¸ÀÔÀÇ °æ¿ì pPos, pTime ó·³ p¸¦ ºÙ¿© ³õÀ¸¸é Æ÷ÀÎÅÍÀÎÁö ½±°Ô ¾Ë ¼ö ÀÖ¾î ²Ï À¯¿ëÇÏ´Ù. À̸§¿¡ ¸íĪÀÇ Àڰݰú ŸÀÔ Á¤º¸±îÁö °°ÀÌ Ç¥ÇöÇÏÀÚ´Â ÃëÁöÀÌ´Ù.
¼Ò½º¿¡ ¼³¸íÀ» ºÙÀÌ´Â ÁÖ¼®µµ ÀÏÁ¾ÀÇ ÄÚµù ½ºÅ¸ÀÏÀε¥ µÇµµ·Ï ¸¹ÀÌ ´Ù´Â °ÍÀÌ ÁÁ´Ù°í »ý°¢ÇÏ´Â »ç¶÷µµ ÀÖ°í ºÒÇÊ¿äÇÑ ÁÖ¼®Àº ¿ÀÈ÷·Á ÁöÀúºÐÇÏ´Ù°í »ý°¢ÇÏ´Â »ç¶÷µµ ÀÖ´Ù. °ú°Å¿¡´Â ÁÖ¼®ÀÌ ¸¹À»¼ö·Ï ´õ ½¬¿î ¼Ò½º¶ó´Â °ßÇØ°¡ ÀϹÝÀûÀ̾úÁö¸¸ ¿äÁòÀº ÁÖ¼®º¸´Ù´Â ¼³¸íÀûÀÎ ¼Ò½º¸¦ ÀÛ¼ºÇÏ´Â °ÍÀÌ ´õ ¹Ù¶÷Á÷ÇÏ´Ù´Â °ßÇØ°¡ Áö¹èÀûÀÌ´Ù. Áï, ´Ù·®ÀÇ ÁÖ¼®º¸´Ù ÁÖ¼®ÀÌ ÇÊ¿ä¾øÀ» Á¤µµ·Î Àб⠽¬¿î ¼Ò½º°¡ ´õ ÁÁ´Ù´Â ¶æÀÌ´Ù.
ÇÑ ÁÙ ÁÖ¼®Àº //·Î ÀÛ¼ºÇÏ°í ¿©·¯ ÁÙ ÁÖ¼®Àº //¸¦ ¿©·¯ ¹ø ¾²°Å³ª /* */¸¦ ¾´´Ù. ªÀº ÁÖ¼®Àº ÄÚµå ¿·¿¡ ¹Ù·Î ºÙÀÌ´Â °ÍÀÌ ÁÁ°í Á¶±Ý ±ä ÁÖ¼®Àº ÄÚµå À§ÂÊ¿¡ ºÙÀδÙ. ÇÑ ÁÙ·Î ÀÛ¼ºÇϱ⠰ï¶õÇÒ Á¤µµ·Î ¼³¸íÇØ¾ß ÇÒ ¾çÀÌ ¸¹´Ù¸é ÁÖ¼®À¸·Î ´Þ¾Æ³õ´Â °Íº¸´Ù º°µµÀÇ ¹®¼¸¦ µû·Î ÀÛ¼ºÇϰí Âü°í ¹®¼¸¦ ÁÖ¼®À¸·Î Ç¥½ÃÇØ ³õ´Â °ÍÀÌ ÁÁ´Ù. ¼Ò½º³»ÀÇ ÁÖ¼®Àº ÅØ½ºÆ®¹Û¿¡ Ç¥ÇöÇÏÁö ¸øÇÏÁö¸¸ Âü°í ¹®¼´Â µµÇ¥, ±×¸², È帧µå µîÀ» ¼¼¹ÐÇÏ°Ô Ç¥ÇöÇÒ ¼ö ÀÖ¾î ´õ »ó¼¼ÇÑ ¼³¸í¼¸¦ ÀÛ¼ºÇÒ ¼ö ÀÖ´Ù.