¢Ê 1ÀÏ: ¼Ò°³ - ¹®ÀÚ¿­


¢¹ A1. ¼Ò°³ (Introduction)
  ÀÌ ¸Þ´º¾óÀº 1988³â 10¿ù 31ÀÏ, "American Standard for Information Systems - C ÇÁ·Î±×·¡¹Ö ¾ð¾î, ¹®¼­¹øÈ£ X3.159-1989" ¶ó´Â Á¦¸ñÀ¸·Î ANSI ¿¡ Á¦ÃâµÈ ÃʾÈÀ» ±âº»À¸·Î C¾ð¾î¿¡ ´ëÇØ¼­ ¼­¼úÇÑ °ÍÀÔ´Ï´Ù. ÀÌ ¸Þ´º¾óÀº Á¦¾ÈµÈ Ç¥Áؾȿ¡ ´ëÇÑ ÇØ¼³¼­ÀÌÁö Ç¥ÁØ ±× ÀÚü¸¦ ½Ç¾î ³õÀº °ÍÀº ¾Æ´Õ´Ï´Ù. ÇÏÁö¸¸ C¾ð¾î¿¡ ´ëÇÑ È®½ÇÇÑ ±æÀâÀ̰¡ µÉ ¼ö ÀÖµµ·Ï ÃÖ´ëÇÑÀÇ ÁÖÀǸ¦ ±â¿ï¿´½À´Ï´Ù.
  °ÅÀÇ ´ëºÎºÐÀÇ ³»¿ë¿¡¼­ ÃÊÆÇ (first edition) ¿¡¼­ ´Ù·é¹Ù Àִ ǥÁؾÈÀÇ °³¿äÀ» µû¸£°í ÀÖÁö¸¸, ¼¼ºÎÀûÀÎ »çÇ׿¡¼­´Â ´Ù¸¦ ¼öµµ ÀÖ½À´Ï´Ù. ÇÏÁö¸¸ Á¦½ÃµÈ ¸íĪ ¸î°³ÀÇ À̸§À» ¹Ù²Û°Í (renaming of a few production) °ú, ÅäÅ«À̳ª Àü󸮱âÀÇ Á¤ÀǸ¦ Çü½ÄÈ­ (formalizing) ÇÏÁö ¾ÊÀº °ÍÀ» Á¦¿ÜÇϸé, ¿©±â¿¡ Á¦½ÃµÈ ¹®¹ýÀº ÇöÀç »ç¿ëÇϰí Àִ ǥÁذú µ¿ÀÏÇÕ´Ï´Ù.

  ÁÖ¼®Àº Áö±Ý º¸½Ã´Â °Íó·³ ÀÛÀº ±Û¾¾·Î µé¿©¾²±â ÇØ¼­ ÀûÀ» °ÍÀÔ´Ï´Ù. ÁÖ¼®À» ÅëÇØ¼­´Â »õ·Î Á¤ÇØÁø ANSI-C Ç¥ÁؾÈÀÌ, ÀÌ Ã¥ÀÇ ÃÊÆÇ ±×¸®°í ½ÇÁ¦ ÄÄÆÄÀÏ·¯ Áö¿ø ³»¿ë°ú ¾î¶»°Ô ´Ù¸¥Áö º¸¿©ÁÙ °ÍÀÔ´Ï´Ù.


¢¹ A2. ¾îÈÖÀû ±ÔÁ¤ (Lexical Convention)
  ÇÁ·Î±×·¥Àº ÆÄÀϾȿ¡ ÀúÀåµÈ Çϳª ȤÀº ±× ÀÌ»óÀÇ ¹ø¿ª´ÜÀ§ (translation unit) ·Î ±¸¼ºµÇ¸ç, A12 Àý¿¡¼­ ¼Ò°³ÇÏ´Â ¿©·¯ ´Ü°è¸¦ °ÅÃÄ ±â°è°¡ ¾Ë¾ÆµéÀ» ¼ö ÀÖµµ·Ï ¹ø¿ªµË´Ï´Ù. °¡Àå ù¹øÂ° ´Ü°è¿¡¼­´Â, # ·Î ½ÃÀÛÇÏ´Â Áö½ÃÀÚ (directive) ¿¡ ÀÇÇÑ Àú¼öÁØ ¾îÈÖº¯È¯ (low-level lexical transformation) ÀÌ ÀϾ¸ç, ¸ÅÅ©·Î Á¤ÀÇ¿Í Àü°³ (macro definition and expansion) °¡ ¼öÇàµË´Ï´Ù. A12 Àý¿¡¼­ ¼Ò°³ÇÒ Àüó¸® ±â´ÉÀÌ ¿Ï·áµÇ¸é, ÇÁ·Î±×·¥Àº 'ÅäÅ«'À̶ó´Â Á¶°¢¸¸À¸·Î ±¸¼ºµÇ°Ô µË´Ï´Ù.

  ¢¹ A2.1 ÅäÅ« (Token)
  ÅäÅ«¿¡´Â ¸íĪ (identifier), Ű¿öµå (keyword), »ó¼ö (constant), ¹®ÀÚ¿­ (string literal), ¿¬»êÀÚ (operator), ºÐ¸®ÀÚ (separator) ÀÇ ¿©¼¸°¡Áö°¡ ÀÖ½À´Ï´Ù. °ø¹é (blank), ¼öÁ÷ ¼öÆòÅÇ (horizonal and vertical tab), °³Ç๮ÀÚ (newline), FF (formfeed), ÁÖ¼® (comment) Àº ¹­¾î¼­ °ø¹é¹®ÀÚ (white space) ¶ó°í Çϸç, À̵éÀº ÅäÅ«ÀÇ ºÐ¸®¿ªÇÒÀ» ÇÒ ¶§¸¦ Á¦¿ÜÇϸé ÄÄÆÄÀÏ·¯¿¡ ÀÇÇØ ¹«½ÃµÇ¾î ¹ö¸³´Ï´Ù. ºÙ¾îÀÖ´Â ¸íĪ, Ű¿öµå, »ó¼öÀÇ ±¸ºÐÀ» À§Çؼ­´Â ¹Ýµå½Ã ÀÌ °ø¹é¹®ÀÚ¸¦ »ç¿ëÇØ¾ß ÇÕ´Ï´Ù.
  °ø¹é¹®ÀÚ¿¡ ÀÇÇØ ÅäÅ«À¸·Î ºÐ¸®µÈ ¹®ÀÚ¿­Àº, ÄÄÆÄÀÏ·¯°¡ ÃëÇÒ ¼ö ÀÖ´Â °¡Àå ±ä ¹®ÀÚ±îÁö¸¦ ÇϳªÀÇ ÅäÅ«À¸·Î ÃëÇÏ°Ô µË´Ï´Ù.

¢º ¿ªÀÚ ÁÖ
  ÄÄÆÄÀÏ·¯°¡ ÃëÇÒ ¼ö ÀÖ´Â °¡Àå ±ä ¹®ÀÚ±îÁö¸¦ ÇϳªÀÇ ÅäÅ«À¸·Î ÃëÇÏ´Â °ÍÀ» "ÃÖ´ëÇÑ Àß¶ó¸Ô±â ±ÔÄ¢ (maximal munch rule)" À̶ó°í ºÎ¸£±âµµ ÇÕ´Ï´Ù.

¢¹ A2.2 ÁÖ¼® (Comment)
  /* ·Î ½ÃÀÛÇØ¼­ */ ·Î ³¡³ª´Â ¹®ÀÚµéÀº ÁÖ¼®ÀÔ´Ï´Ù. ÁÖ¼®Àº ÁßøµÉ ¼ö ¾øÀ¸¸ç, ¹®ÀÚ»ó¼ö³ª ¹®ÀÚ¿­ ³»¿¡¼­´Â ³ª¿Ã ¼ö ¾ø½À´Ï´Ù. Áï, ¹®ÀÚ¿­ ³»ÀÇ ÁÖ¼®Àº ¹®ÀÚ¿­ÀÇ ÀϺκÐÀÔ´Ï´Ù.

¢¹ A2.3 ¸íĪ (Identifier)
  ¸íĪÀº ¹®ÀÚ¿Í ¼ýÀÚ·Î ±¸¼ºµË´Ï´Ù. ù¹øÂ° ¹®ÀÚ´Â ¼ýÀÚÀÏ ¼ö ¾øÀ¸¸ç, ¹ØÁÙ¹®ÀÚ _ ´Â ¹®ÀÚ·Î Ãë±ÞµÇ°í, ´ë¼Ò¹®ÀÚ´Â ±¸ºÐµË´Ï´Ù. ¸íĪÀÇ ±æÀÌ´Â Á¦ÇÑÀÌ ¾øÁö¸¸ ³»ºÎ¸íĪ (internal identifier) Àº ÃÖ¼Ò 31ÀÚ¸¸ÀÌ À¯È¿ÇÕ´Ï´Ù. ¾î¶² ÄÄÆÄÀÏ·¯¿¡¼­´Â ´õ ¸¹Àº ¹®ÀÚ°¡ À¯È¿Çϱ⵵ ÇÕ´Ï´Ù. ³»ºÎ¸íĪ¿¡´Â ¿ÜºÎ¿¬°á (external linkage) À» °®Áö ¾Ê´Â ¸ðµç ¸íΰú Àü󸮱â¿ë ¸ÅÅ©·Î ¸íĪÀÌ ÇØ´çµË´Ï´Ù. (A11.2 Âü°í) ¿ÜºÎ¿¬°áÀ» °¡Áö°í ÀÖ´Â ¸íĪÀº Á» ´õ ¸¹Àº Á¦¾àÀÌ ÀÖ½À´Ï´Ù. ¾î¶² ÄÄÆÄÀÏ·¯´Â ¿ÜºÎ ¸íĪÀ¸·Î ÃÖÃÊÀÇ 6ÀÚ¸¸À» À¯È¿ÇÏ´Ù°í ÁöÁ¤Çϸç, ´ë¼Ò¹®ÀÚ ±¸ºÐÀ» ÇÏÁö ¾Ê±âµµ ÇÕ´Ï´Ù.

¢¹ A2.4 Ű¿öµå (Keyword)
  ¾Æ·¡¿¡ ¼Ò°³µÇ´Â ¸íεéÀº Ű¿öµå·Î ÀÌ¹Ì ¿¹¾àµÇ¾î À־ ´Ù¸¥ ¿ëµµ·Î´Â »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù:

auto double int struct
break else long switch
case enum register typedef
char extern return union
const float short unsigned
continue for signed void
default goto sizeof volatile
do if static while

¾î¶² ÄÄÆÄÀÏ·¯´Â fortran °ú asm µµ Ű¿öµå·Î »ç¿ëÇÕ´Ï´Ù.

  Ű¿öµå const, signed, volatile Àº ANSI Ç¥ÁØ¿¡¼­ »õ·Î µîÀåÇÑ °ÍÀÔ´Ï´Ù. enum °ú void µµ ÃÊÆÇ¿¡¼­´Â ¾ø¾ú´ø °ÍÀ̸ç, Ű¿öµå·Î ¿¹¾àµÇ¾î ÀÖÀ¸³ª »ç¿ëÇÏÁö ¾Ê´ø entry ´Â »ç¶óÁ³½À´Ï´Ù.

¢¹ A2.5 »ó¼ö (Constant)
  C¿¡´Â °¢°¢ÀÇ µ¥ÀÌÅÍÇüÀ» °¡Áö°í ÀÖ´Â ¿©·¯ Á¾·ùÀÇ »ó¼öµéÀÌ ÀÖ½À´Ï´Ù. ±âº» µ¥ÀÌÅÍÇü¿¡ ´ëÇØ¼­´Â A4.2 ÀýÀ» Âü°íÇϽñ⠹ٶø´Ï´Ù.

constant:
        integer-constant
        character-constant
        floating-constant
        enumeration-constant

¢¹ A2.5.1 Á¤¼ö»ó¼ö (Integer Constant)
  ¼ýÀÚµé·Î ÀÌ·ç¾îÁø Á¤¼ö»ó¼ö´Â ¼ýÀÚ 0À¸·Î ½ÃÀÛÇÏ´Â °æ¿ì¿¡´Â 8Áø¼ö ¼ýÀÚ, ±×¿Ü¿¡´Â 10Áø¼ö ¼ýÀÚ·Î Ãë±ÞµË´Ï´Ù. 8Áø¼ö Á¤¼ö»ó¼ö¿¡´Â ¼ýÀÚ 8, 9´Â ³ª¿Ã ¼ö ¾ø½À´Ï´Ù. 0x ³ª 0X µÚ¿¡ ³ª¿À´Â ¼ýÀÚ´Â 16Áø¼ö Á¤¼ö»ó¼ö·Î Ãë±ÞµÇ¸ç, 16Áø¼ö¿¡¼­ ¼ýÀÚ 10ºÎÅÍ 15¸¦ ³ªÅ¸³»±â À§Çؼ­ ¹®ÀÚ A (ȤÀº a) ºÎÅÍ F (ȤÀº f) ¸¦ »ç¿ëÇÕ´Ï´Ù.
  u ³ª U °¡ Á¢¹Ì»ç·Î ºÙ´Â Á¤¼ö»ó¼ö´Â unsigned ÇüÀÓÀ» ³ªÅ¸³»¸ç, l À̳ª L ÀÌ Á¢¹Ì»ç·Î ºÙ´Â Á¤¼ö»ó¼ö´Â long ÇüÀÓÀ» ³ªÅ¸³À´Ï´Ù. Á¤¼ö»ó¼öÀÇ µ¥ÀÌÅÍÇüÀº ±×°ÍÀÇ ÇüÅ (form), °ª, Á¢¹Ì»ç¿¡ µû¶ó ´Þ¶óÁú ¼ö ÀÖ½À´Ï´Ù. (µ¥ÀÌÅÍÇü¿¡ ´ëÇØ¼­´Â A4 Àý Âü°í) Á¤¼ö»ó¼ö°¡ Á¢¹Ì»ç¾øÀÌ 10Áø¼ö ÇüÅÂÀ̸é, int, long int, unsigned long int Áß Ã¹¹øÂ°·Î °¡´ÉÇÑ µ¥ÀÌÅÍÇüÀ¸·Î Ãë±ÞµË´Ï´Ù. ¸¸¾à Á¢¹Ì»ç¾øÀÌ 8Áø¼ö, 16Áø¼ö ÇüÅÂÀ̸é int, unsigned, long int, unsigned long int Áß¿¡¼­ ù¹øÂ°·Î °¡´ÉÇÑ µ¥ÀÌÅÍÇüÀ¸·Î Ãë±ÞµË´Ï´Ù. u ³ª U °¡ ºÙÀ¸¸é unsigned int, unsigned long int Áß Ã¹Â°·Î °¡´ÉÇÑ µ¥ÀÌÅÍÇüÀ¸·Î, l À̳ª L ÀÌ ºÙÀ¸¸é long int, unsigned long int Áß Ã¹Â°·Î °¡´ÉÇÑ µ¥ÀÌÅÍÇüÀ¸·Î Ãë±ÞµË´Ï´Ù. ¸¸¾à UL (ul, Ul, uL) Á¢¹Ì»ç°¡ ºÙÀ¸¸é, unsigned long ÇüÀ¸·Î Ãë±ÞµË´Ï´Ù.

  Å« Á¤¼ö»ó¼ö¸¦ long À¸·Î¸¸ Ãë±ÞÇÏ´ø ÃÊÆÇ¿¡ ºñÇϸé ÀÌ·¯ÇÑ µ¥ÀÌÅÍÇü °áÁ¤¹æ½ÄÀº »ó´çÈ÷ ¹ßÀüµÈ °ÍÀÔ´Ï´Ù. Á¢¹Ì»ç u ´Â »õ·Î µîÀåÇÑ °ÍÀÔ´Ï´Ù.

¢¹ A2.5.2 ¹®ÀÚ»ó¼ö (Character Constant)
  'x' ó·³ ÀÛÀº µû¿ÈÇ¥ ' ¿¡ µÑ·¯½ÎÀÎ Çϳª ȤÀº ±× ÀÌ»óÀÇ ¹®ÀÚµéÀº ¹®ÀÚ»ó¼ö ÀÔ´Ï´Ù. ÇϳªÀÇ ¹®ÀÚ·Î ÀÌ·ç¾îÁø ¹®ÀÚ»ó¼öÀÇ °ªÀº ÇÁ·Î±×·¥ÀÌ ÄÄÆÄÀϵǴ ÄÄÇ»ÅÍ ±âÁ¾¿¡ µû¸¥ ¹®ÀÚÄڵ忡¼­ÀÇ ¼ýÀÚ°ªÀÔ´Ï´Ù. 2¹®ÀÚ ÀÌ»óÀÇ ¹®ÀÚ»ó¼ö (multi-character constant) °ªÀº ÄÄÆÄÀÏ·¯¸¶´Ù ´Ù¸£°Ô Á¤ÀÇÇÕ´Ï´Ù (implementation-defined).
  ¹®ÀÚ»ó¼ö ³»¿¡´Â ÀÛÀº µû¿ÈÇ¥ ' ³ª °³Ç๮ÀÚ¸¦ Á÷Á¢ ´ãÀ» ¼ö ¾ø½À´Ï´Ù. µû¶ó¼­ ¾Æ·¡¿¡ ³ª¿­µÈ È®Àå¿­ (escape sequence) À» »ç¿ëÇÕ´Ï´Ù.

°³Ç๮ÀÚ NL (LF) \n   ¹é½½·¯½¬ \ \\
¼öÆòÅÇ HT \t   ¹°À½Ç¥ ? \?
¼öÁ÷ÅÇ VT \v   ÀÛÀº µû¿ÈÇ¥ ' \'
¹é½ºÆäÀ̽º BS \b   Å« µû¿ÈÇ¥ " \"
Carriage Return CR \r   8Áø¼ö ¼ýÀÚ ooo \ooo
FormFeed FF \f   16Áø¼ö ¼ýÀÚ hh \hh
º§¼Ò¸® BEL \a        

¿øÇÏ´Â ÀÓÀÇÀÇ ¹®ÀÚ¸¦ ´Ù·ç±â À§Çؼ­ ¹é½½·¯½¬ µÚ¿¡ 1-3ÀÚ¸®ÀÇ 8Áø¼ö ¼ýÀÚ¸¦ ¾²´Â \ooo È®Àå¿­À» »ç¿ëÇÕ´Ï´Ù. \ooo È®Àå¿­ÀÇ ÀϹÝÀûÀÎ ¿¹·Î´Â ³Î¹®ÀÚ (character NUL) ¸¦ ³ªÅ¸³»´Â \0 ÀÌ ÀÖ½À´Ï´Ù. ¶ÇÇÑ ¹é½½·¯½¬ µÚ¿¡ 16Áø¼ö ¼ýÀÚ¸¦ Àû¾îÁÖ´Â \xhh È®Àå¿­µµ ÀÖ½À´Ï´Ù. Àû¾îÁÖ´Â ¼ýÀÚÀÇ ÀÚ¸´¼ö¿¡´Â Á¦ÇÑÀÌ ¾øÁö¸¸, ¸¸¾à ±× °ªÀÌ ¹®ÀÚÄÚµåÀÇ ÃÖ´ë°ªÀ» ÃʰúÇÏ´Â °æ¿ì¿¡´Â ÄÄÆÄÀÏ·¯ÀÇ ÇൿÀÌ µû·Î ±ÔÁ¤µÇ¾î ÀÖÁö ¾Ê½À´Ï´Ù (undefined). 8Áø¼ö³ª 16Áø¼ö È®Àå¿­ÀÇ °æ¿ì ÄÄÆÄÀÏ·¯°¡ char ÇüÀ» signed char ÇüÀ¸·Î Ãë±ÞÇÑ´Ù¸é, ij½ºÆ® ¿¬»êÀÚ¿¡ ÀÇÇØ char ÇüÀ¸·Î º¯È¯µÇµíÀÌ ºÎȣȮÀå (sign-extend) ¿¡ ÀÇÇØ º¯È¯µË´Ï´Ù. È®Àå¿­À» ³ªÅ¸³¾ ¶§ »ç¿ëÇÏ´Â ¹é½½·¯½¬ \ µÚ¿¡ ³ª¿À´Â ¹®ÀÚ°¡ À§¿¡¼­ ¿­°ÅÇÑ È®Àå¿­ÀÌ ¾Æ´Ò °æ¿ì, ±× ÇൿÀº Á¤ÀǵǾî ÀÖÁö ¾Ê½À´Ï´Ù (undefined).
  ¾î¶² ÄÄÆÄÀÏ·¯´Â char ÇüÀ¸·Î ³ªÅ¸³¾ ¼ö ¾ø´Â È®ÀåµÈ ¹®ÀÚÄڵ带 Áö¿øÇÕ´Ï´Ù. È®ÀåµÈ ¹®ÀÚÄÚµåÀÇ »ó¼ö´Â ±× »ó¼ö¾Õ¿¡ L À» ºÙ¿© L'x' ó·³ Ç¥ÇöÇϸç, À̸¦ 'wide character constant' ¶ó°í ºÎ¸¨´Ï´Ù. ÀÌ·¯ÇÑ »ó¼ö´Â Ç¥ÁØ Çì´õÆÄÀÏÀÎ <stddef.h> ¿¡ Á¤ÀÇµÈ Á¤¼öÇü (integral) ÀÎ wchar_t ÇüÀ» °®½À´Ï´Ù. wchar_t Çü ¹®ÀÚ»ó¼ö¿¡´Â ¶È°°Àº È®Àå¿­À» »ç¿ëÇÒ ¼ö ÀÖÀ¸¸ç, È®Àå¿­ÀÇ °ªÀÌ wchar_t ÇüÀÇ ¹üÀ§¸¦ ³Ñ¾î°¡´Â °æ¿ìÀÇ ¿µÇâÀº Á¤ÀǵǾî ÀÖÁö ¾Ê½À´Ï´Ù (undefined).

  È®Àå¿­ Ç¥Çö¹æ¹ýÁß ÀϺÎ, ƯÈ÷ 16Áø¼ö Ç¥Çö¹æ¹ýÀº »õ·Î¿î °ÍÀÔ´Ï´Ù. ¶ÇÇÑ È®ÀåµÈ ¹®ÀÚÄÚµå ¶ÇÇÑ »õ·Î¿î °ÍÀÔ´Ï´Ù. ¹Ì±¹À̳ª ¼­À¯·´¿¡¼­´Â ¹®ÀÚ¸¦ Ç¥ÇöÇϴµ¥ ÀϹÝÀûÀ¸·Î char ÇüÀ» »ç¿ëÇϸé Á·Çϸç, wchar_t ¸¦ Ãß°¡ÇÑ Àǵµ´Â ¾Æ½Ã¾ÆÀÇ ¾ð¾î¸¦ Áö¿øÇϱâ À§ÇÑ °ÍÀÔ´Ï´Ù.

¢¹ A2.5.3 ºÎµ¿»ó¼ö (Floating Constant)
  ºÎµ¿»ó¼ö´Â Á¤¼öºÎ, ¼Ò¼öÁ¡, ¼Ò¼öºÎ, e ȤÀº E, ºÎÈ£°¡ ºÙÀ» ¼ö ÀÖ´Â Á¤¼ö Áö¼öºÎ¿Í »ý·«°¡´ÉÇÑ µ¥ÀÌÅÍÇü Á¢¹Ì»ç (f, F, l, L Áß Çϳª) ·Î ±¸¼ºµË´Ï´Ù. Á¤¼öºÎ¿Í ¼Ò¼öºÎ´Â ¸ðµÎ ¼ýÀڷΠǥ½ÃÇÕ´Ï´Ù. Á¤¼öºÎ³ª ¼Ò¼öºÎÁß Çϳª´Â »ý·«ÇÒ ¼ö ÀÖÀ¸¸ç (µÑ ´Ù »ý·«ÇÏ´Â °ÍÀº ºÒ°¡´É), ¼Ò¼öÁ¡À̳ª e ¿Í Áö¼öºÎ Áß Çϳªµµ »ý·«ÇÒ ¼ö ÀÖ½À´Ï´Ù (µÑ´Ù »ý·«ÇÏ´Â °ÍÀº ºÒ°¡´É). ºÎµ¿»ó¼öÀÇ µ¥ÀÌÅÍÇüÀº Á¢¹Ì»ç¿¡ ÀÇÇØ °áÁ¤µË´Ï´Ù; F (ȤÀº f) ´Â float Çü, L (ȤÀº l) Àº long double Çü, ±× ¿ÜÀÇ °æ¿ì¿¡´Â double ÇüÀ¸·Î Ãë±ÞµË´Ï´Ù.

  ºÎµ¿»ó¼ö¿¡ Á¢¹Ì»ç¸¦ ºÙÀÌ´Â ¹æ¹ýÀº »õ·Î¿î °ÍÀÔ´Ï´Ù.

¢¹ A2.5.4 ¿­°Å»ó¼ö (Enumeration Constant)
  ¿­°ÅÀÚ (enumerator) ·Î ¼±¾ðµÈ ¸íĪ (¿­°Å»ó¼ö) µéÀº int ÇüÀÇ »ó¼öÀÔ´Ï´Ù.

¢¹ A2.6 ¹®ÀÚ¿­ (String Literal)
  '¹®ÀÚ¿­ »ó¼ö' ¶ó°íµµ ºÒ¸®´Â ¹®ÀÚ¿­Àº "..." ¿Í °°ÀÌ Å« µû¿ÈÇ¥¿¡ ½×ÀÎ ¹®ÀÚµé ÀÔ´Ï´Ù. ¹®ÀÚ¿­ÀÇ µ¥ÀÌÅÍÇüÀº '¹®Àڹ迭', ±â¾ïºÎ·ù´Â Á¤Àû (static) À̸ç, ÁÖ¾îÁø ¹®Àڵ鿡 ÀÇÇØ ÃʱâÈ­ µË´Ï´Ù. µ¿ÀÏÇÑ ¹®ÀÚ¿­ÀÌ ±¸º°µÇ¾î »ç¿ëµÇ´ÂÁö´Â ÄÄÆÄÀÏ·¯¸¶´Ù ´Ù¸£¸ç (implementation-defined), ¹®ÀÚ¿­À» ¹Ù²Ù·Á´Â ÇÁ·Î±×·¥ÀÇ Çൿ¿¡ ´ëÇØ¼­´Â Ç¥ÁØ¿¡¼­ Á¤ÀÇÇÑ ¹Ù°¡ ¾ø½À´Ï´Ù (undefined).
  ÀÎÁ¢ÇØ ÀÖ´Â ¹®ÀÚ¿­Àº ÇϳªÀÇ ¹®ÀÚ¿­·Î ¿¬°áµË´Ï´Ù. ¾î¶°ÇÑ ¹æ½ÄÀ¸·Îµç ¹®ÀÚ¿­ÀÌ ¿¬°áµÇ¸é ¹®ÀÚ¿­ µÚ¿¡´Â ³Î¹®ÀÚ '\0' ÀÌ Ã·°¡µÇ¾î ÇÁ·Î±×·¥ÀÌ ¹®ÀÚ¿­ÀÇ ³¡À» ŽÁöÇÒ ¼ö ÀÖµµ·Ï ÇØÁÝ´Ï´Ù. ¹®ÀÚ¿­ ¿ª½Ã °³Ç๮ÀÚ³ª Å« µû¿ÈÇ¥¸¦ ³»¿ë¿¡ ´ãÀ» ¼ö ¾øÀ¸¸ç, ±×·¯ÇÑ ¹®ÀÚ¸¦ Ç¥ÇöÇϱâ À§Çؼ­´Â ¹®ÀÚ»ó¼ö¿¡¼­ ¾Ë¾Æº» È®Àå¿­À» »ç¿ëÇÏ¸é µË´Ï´Ù.
  ¹®ÀÚ»ó¼ö ¿¡¼­Ã³·³, È®ÀåµÈ ¹®ÀÚ¿­Àº ¹®ÀÚ»ó¼ö ¾Õ¿¡ L À» ºÙ¿© L"..." °ú °°ÀÌ Ç¥ÇöÇÕ´Ï´Ù. È®ÀåµÈ ¹®ÀÚ¿­Àº 'wide-character string' À̶ó°í ºÎ¸£¸ç µ¥ÀÌÅÍÇüÀº wchar_t ÀÇ ¹è¿­Çü ÀÔ´Ï´Ù. º¸ÅëÀÇ ¹®ÀÚ¿­°ú È®ÀåµÈ ¹®ÀÚ¿­ÀÇ °áÇÕ¿¡ ´ëÇØ¼­´Â Ç¥ÁØ¿¡¼­ Á¤ÀÇÇØÁÖÁö ¾Ê¾Ò½À´Ï´Ù (undefined).

  µ¿ÀÏÇÑ ¹®ÀÚ¿­ÀÌ ±¸º°µÇ¾î »ç¿ëµÉ Çʿ䰡 ¾øÀ¸¸ç, ¼öÁ¤ÇÒ ¼ö ¾ø´Ù´Â °Í, ÀÎÁ¢ÇÑ ¹®ÀÚ¿­ÀÇ ¿¬°áÀº ANSI-C Ç¥ÁØ¿¡¼­ »õ·Î Á¤ÇÑ »ç½ÇÀÔ´Ï´Ù. ¶ÇÇÑ È®ÀåµÈ ¹®ÀÚ¿­ÀÎ wide-character string µµ »õ·Î¿î °ÍÀÔ´Ï´Ù.


ÀÌÀü [¡ã ¸ÇÀ§·Î]
[¢Ê ¸ñÂ÷·Î]
´ÙÀ½