¢Ê 2ÀÏ: ±¸¹®Ç¥±â - ´ë»óü¿Í Áº¯°ª


¢¹ A3. ±¸¹®Ç¥±â (Syntax Notation)
  ÀÌ ¸Þ´º¾ó¿¡¼­ ±¸¹®À» Ç¥±âÇÏ´Â ¹æ¹ýÀº ´ÙÀ½°ú °°½À´Ï´Ù. ±¸¹®ÀÇ Á¾·ù (syntactic categorie) ´Â ÀÌÅŸ¯Ã¼·Î, ´Ü¾î³ª ¹®ÀÚ (literal word and character) µéÀº ŸÀÌÇÁü·Î Ç¥±â µË´Ï´Ù. ¼±ÅÃÇÒ ¼ö ÀÖ´Â ±¸¹®ÀÇ Á¾·ù´Â ºÐ¸®µÈ ÁÙ¿¡ ³ª¿­µË´Ï´Ù; ¸î¸îÀÇ °æ¿ì ±æÀ̰¡ ªÀº ±¸¹® Á¾·ùµéÀÌ ´Ù¼ö ¿­°ÅµÇ´Â °æ¿ì¿¡´Â, ÇÑ ÁÙ¿¡ Ç¥½ÃÇÑ ÈÄ "one of" (-Áß Çϳª) ¶ó´Â ¸»À» ºÙÀÔ´Ï´Ù. »ý·«ÇÒ ¼ö ÀÖ´Â, ¼±ÅÃÀûÀÎ Á¾·áÀÚ (terminal) ³ª Á¾·áÀÚ°¡ ¾Æ´Ñ (non terminal) ±âÈ£¿¡´Â "opt" (optional, ¼±ÅÃÀûÀÎ) ¶ó´Â ÷ÀÚ¸¦ ºÙ¿´½À´Ï´Ù.

¢º ¿ªÀÚ ÁÖ
  Á¾·áÀÚ (terminator) ¶õ, ¹®¹ý Ç¥±â¿¡¼­ ¿ÞÂÊ¿¡ ³ª¿Ã ¼ö ¾ø´Â °ÍÀÔ´Ï´Ù. Áï, ¾Æ·¡¿Í °°Àº ¹®¹ýÀÌ ÀÖÀ» ¶§,

primary-expression:
        identifier
        constant
        string
        ( expression )

primary-expression Àº ÀÌ¹Ì ¿ÞÂÊ¿¡ ³ª¿ÔÀ¸¹Ç·Î Á¾·áÀÚ°¡ ¾Æ´Õ´Ï´Ù. identifier, constant, string, (expression) Áß ¹®¹ýÀ» »ìÆì º¸¾Æ¼­ primary-expression ó·³ ¿ÞÂÊ¿¡ ³ª¿ÀÁö ¾Ê´Â °ÍÀÌ ÀÖ´Ù¸é Á¾·áÀÚ°¡ µÇ´Â °ÍÀÔ´Ï´Ù.

¿¹¸¦ µé¾î,

{   expression opt   }

´Â Áß°ýÈ£¿¡ ½×ÀÎ ¼±ÅÃÀûÀÎ ¼ö½ÄÀ» ÀǹÌÇÕ´Ï´Ù. ¹®¹ý¿¡ ´ëÇØ¼­´Â A13 Àý¿¡ ¿ä¾àÇØ µÎ¾ú½À´Ï´Ù.
  ÀÌ Ã¥ÀÇ ÃÊÆÇ°ú´Â ´Þ¸® ¿©±â¿¡¼­ Á¦½ÃÇÑ ¹®¹ý¿¡´Â ¼ö½Ä ¿¬»êÀÚÀÇ ¿ì¼±¼øÀ§¿Í °áÇÕ¼ø¼­¸¦ ¸íÈ®È÷ ¹àÇô µÎ¾ú½À´Ï´Ù.

¢º ¿ªÀÚ ÁÖ
  ¿ªÀÚ°¡ ¸Å¿ì °ñÄ¡°¡ ¾ÆÇ °ü°è·Î (^^;) À§¿¡¼­ À̾߱âÇÏ´Â ÀÌÅŸ¯Ã¼³ª ŸÀÌÇÁüÀÇ ±¸ºÐÀ» ÇÏÁö ¾Ê¾Ò½À´Ï´Ù. ±×·¡µµ º¸½Ã´Âµ¥ Å« ¾î·Á¿òÀº ¾øÀ» °Ì´Ï´Ù. ±Û¾¾Ã¼ÀÇ ±¸ºÐÀÌ ÇÊ¿äÇÏ´Ù¸é A13 ÀýÀÇ ¿ä¾àµÈ ¹®¹ýÀ» º¸½Ã±â ¹Ù¶ø´Ï´Ù.
  ¶ÇÇÑ Á¤È®ÇÑ ±âÁؾøÀÌ ¹ø¿ªÇؼ­ ¿ÀÈ÷·Á È¥¶õÀÌ ¿ÀÁö ¾ÊÀ»±î ÇÏ´Â ¿ì·Á¿¡¼­ ¹®¹ýÀº ¹ø¿ªÇÏÁö ¾Ê°í ¿ø¹®¿¡ ³ª¿ÍÀÖ´Â ±×´ë·Î¸¦ ½Ç¾ú½À´Ï´Ù.


¢¹ A4. ¸íĪÀÇ ÀÇ¹Ì (Meaning of Identifier)
  ¸íĪ ȤÀº À̸§ (name) À̶ó°í ÇÏ´Â °ÍÀº ÇÔ¼ö (function), ±¸Á¶Ã¼ (structure) ¡¤ °ø¿ëü (union) ¡¤ ¿­°ÅÇü (enumeration) ÀÇ Åà (tag), ±¸Á¶Ã¼ ¡¤ °ø¿ëüÀÇ ¸â¹ö, ¿­°Å»ó¼ö, »ç¿ëÀÚÁ¤ÀÇ typedef À̸§, ´ë»óü (object), ¶óº§ (label) µéÀ» ÀǹÌÇÕ´Ï´Ù. ¶§¶§·Î º¯¼ö (variable) ¶ó°íµµ ºÒ¸®´Â ´ë»óü´Â ±â¾ïÀå¼ÒÀÇ ¾î¶°ÇÑ À§Ä¡ÀÔ´Ï´Ù. ´ë»óü¿¡´Â Å©°Ô 2°¡ÁöÀÇ ¼Ó¼ºÀÌ ÀÖ½À´Ï´Ù. Çϳª´Â ±â¾ïºÎ·ù (storage class) À̸ç, ´Ù¸¥ Çϳª´Â µ¥ÀÌÅÍÇü (type) ÀÔ´Ï´Ù. ±â¾ïºÎ·ù´Â ´ë»óüÀÇ Á¸¼Ó½Ã°£ (life time of storage) À» °áÁ¤ÇØ ÁÖ¸ç, µ¥ÀÌÅÍÇüÀº ±× ´ë»óü¾È¿¡ ÀúÀåµÈ °ªÀÇ Àǹ̸¦ °áÁ¤ÇÕ´Ï´Ù. ¸íĪ (identifier or name) Àº ±×°ÍÀÌ ¾Ë·ÁÁö´Â ÇÁ·Î±×·¥ÀÇ ¹üÀ§¸¦ ³ªÅ¸³»´Â Åë¿ë¹üÀ§ (scope) ¿Í, ´Ù¸¥ Åë¿ë¹üÀ§ ³»¿¡ ÀÖ´Â °°Àº ¸íĪÀÌ µ¿ÀÏÇÑ ´ë»óü³ª ÇÔ¼ö¸¦ ÀǹÌÇÏ´ÂÁö¸¦ °áÁ¤ÇÏ´Â ¿¬°á (linkage) À̶ó´Â ¼Ó¼ºÀ» °¡Áö°í ÀÖ½À´Ï´Ù. Åë¿ë¹üÀ§¿Í ¿¬°á¿¡ ´ëÇØ¼­´Â A11 Àý¿¡¼­ ´Ù·ê °ÍÀÔ´Ï´Ù.

  ¢¹ A4.1 ±â¾ïºÎ·ù (Storage Class)
  ±â¾ïºÎ·ù¿¡´Â ÀÚµ¿ (automatic) °ú Á¤Àû (static) 2°¡Áö°¡ ÀÖ½À´Ï´Ù. ´ë»óüÀÇ ¼±¾ð°ú ¸î°³ÀÇ Å°¿öµå°¡ ±â¾ïºÎ·ù¸¦ °áÁ¤ÇØ ÁÝ´Ï´Ù. ÀÚµ¿ ´ë»óü (automatic object) ´Â ºí·° (block, A9.3 Âü°í) ¿¡ ±Í¼ÓµÇ¸ç, ±× ºí·°À» ºüÁ®³ª¿À¸é ¼Ò¸êµÇ¾î ¹ö¸³´Ï´Ù. ºí·°³»¿¡¼­ ¼±¾ðµÈ ´ë»óü´Â ±×°ÍÀÇ ±â¾ïºÎ·ù¸¦ µû·Î ÁöÁ¤ÇØ ÁÖÁö ¾Ê¾Æµµ 'ÀÚµ¿ ´ë»óü' °¡ µË´Ï´Ù. ¹°·Ð auto ¶ó´Â ÁöÁ¤ÀÚ·Î ÀÚµ¿ ´ë»óü ÀÓÀ» ¸í½ÃÇØ ÁÙ ¼öµµ ÀÖ½À´Ï´Ù. °¡´ÉÇÏ´Ù¸é CPU ÀÇ ºü¸¥ ·¹Áö½ºÅÍ ¿µ¿ª¿¡ °ªÀ» ÀúÀåÇ϶ó´Â ÀǹÌÀÇ register ÁöÁ¤ÀÚµµ ±â¾ïºÎ·ù´Â 'ÀÚµ¿' ÀÔ´Ï´Ù.
  Á¤Àû ´ë»óü (static object) ´Â ÇϳªÀÇ ºí·°»Ó ¾Æ´Ï¶ó Àüü ºí·° (ÇÁ·Î±×·¥ Àüü) ¿¡µµ ±Í¼ÓµÉ ¼ö ÀÖÀ¸¸ç, ÇÁ·Î±×·¥ Á¦¾î°¡ ÇÔ¼ö³ª ºí·°À» ¾Æ¹«¸® µå³ªµé¾îµµ ±× °ªÀ» À¯ÁöÇÕ´Ï´Ù. ÇÔ¼ö³ª ºí·°³»¿¡¼­ Á¤Àû ´ë»óü´Â static À̶ó´Â Ű¿öµå·Î ¼±¾ðµË´Ï´Ù. ÇÔ¼ö Á¤ÀÇ (function definition) ¿Í °°Àº ¼öÁØÀÇ, ¸ðµç ºí·° ¹Û¿¡¼­ ¼±¾ðµÈ ´ë»óü´Â ¸ðµÎ Á¤Àû ±â¾ïºÎ·ù¸¦ °®½À´Ï´Ù. static Ű¿öµå¸¦ ÀÌ¿ëÇÏ¸é ´ë»óü¸¦ Ưº°ÇÑ ºí·°³»¿¡¼­¸¸ À¯È¿Çϵµ·Ï ¸¸µé ¼ö Àִµ¥ À̸¦ ³»ºÎ¿¬°á (internal linkage) À̶ó°í ÇÕ´Ï´Ù. ¶ÇÇÑ µû·Î ±â¾ïºÎ·ù¸¦ ÁöÁ¤ÇØÁÖÁö ¾Ê°Å³ª, extern Ű¿öµå¸¦ ÀÌ¿ëÇØ ´ë»óü°¡ ÇÁ·Î±×·¥ Àüü¿¡¼­ À¯È¿Çϵµ·Ï ¸¸µé ¼öµµ Àִµ¥ À̸¦ ¿ÜºÎ¿¬°á (external linkage) À̶ó°í ÇÕ´Ï´Ù.

¢¹ A4.2 ±âº»Çü (Basic Type)
  C¿¡´Â ¿©·¯°¡Áö ±âº»ÇüÀÌ ÀÖ½À´Ï´Ù. ºÎ·Ï B ¿¡¼­ ¼³¸íÇÒ Ç¥ÁØ Çì´õÆÄÀÏ <limits.h> ¿¡´Â °¢ ÄÄÆÄÀÏ·¯¿¡¼­ Áö¿øÇÏ´Â °¢ µ¥ÀÌÅÍÇüÀÇ ÃÖ´ë, ÃÖ¼Ò°ªÀÌ Á¤ÀǵǾî ÀÖ½À´Ï´Ù. ºÎ·Ï B ¿¡ ÁÖ¾îÁø °ªµéÀº ÃÖ¼ÒÀÇ Çã¿ëÄ¡¸¦ º¸¿©ÁÖ´Â °ÍÀÔ´Ï´Ù.
  ¹®ÀÚÇü (char) À¸·Î ¼±¾ðµÈ ´ë»óü´Â ¹®ÀÚÄÚµåÀÇ ¾î¶² ¹®ÀÚµµ ÀúÀåÇÒ ¼ö ÀÖ´Â ÃæºÐÇÑ °ø°£À» °®½À´Ï´Ù. ¸¸¾à ¹®ÀÚÄÚµå Áß¿¡ ¼ø¼öÇÑ ¹®ÀÚ¸¸À» char Çü¿¡ ÀúÀåÇÑ´Ù¸é, ±× °ªÀº ¹®ÀÚÄÚµåÀÇ Á¤¼ö ¼ýÀÚ°ª°ú µ¿ÀÏÇÏ¸ç ¾ç¼öÀÓÀÌ º¸ÀåµË´Ï´Ù. ¹®ÀÚÇü º¯¼ö¿¡´Â ´Ù¸¥ ÀÓÀÇÀÇ °ªµµ ÀúÀåÇÒ ¼ö ÀÖÁö¸¸ ÀúÀå°¡´ÉÇÑ °ªÀÇ ¹üÀ§³ª ±× °ªÀÇ ºÎÈ£´Â ÄÄÆÄÀÏ·¯°¡ Á¤Çϱ⠳ª¸§ÀÔ´Ï´Ù (implementation-defined).
  unsigned char ¿¡ ÀÇÇØ ¼±¾ðµÇ´Â ºÎÈ£¾ø´Â ¹®ÀÚÇüÀº º¸ÅëÀÇ ¹®ÀÚÇü°ú µ¿ÀÏÇÑ Å©±â¸¦ °¡Áö¸ç ´Ù¸¸ À½¼ö°ªÀ» Ç¥ÇöÇÒ ¼ö ¾ø½À´Ï´Ù. signed char ´Â ºÎÈ£ÀÖ´Â ¹®ÀÚÇüÀÓÀ» ¸í¹éÈ÷ ÁöÁ¤ÇØ ÁÙ¶§ »ç¿ëÇϴµ¥, ÀÌ ¿ª½Ã º¸Åë ¹®ÀÚÇü°ú µ¿ÀÏÇÑ Å©±â¸¦ °®½À´Ï´Ù.

  unsigned char ÇüÀº ÀÌÃ¥ÀÇ ÃÊÆÇ¿¡¼­´Â ³ª¿ÀÁö ¾Ê¾ÒÁö¸¸ ÀϹÝÀûÀ¸·Î »ç¿ëµÇ´Â °ÍÀÔ´Ï´Ù. signed char ¶ó´Â ÁöÁ¤¹ýµµ »õ·Î¿î °ÍÀÔ´Ï´Ù.

  ¹®ÀÚÇü¿Ü¿¡µµ short int, int, long int ·Î ¼±¾ðµÇ´Â 3°¡Áö Å©±âÀÇ Á¤¼öÇü (integer) ÀÌ ÀÖ½À´Ï´Ù. º¸ÅëÀÇ int Çü ´ë»óü´Â ÄÄÆÄÀÏ·¯¿¡¼­ ÃßõÇÏ´Â °¡Àå ÀÚ¿¬½º·¯¿î Å©±â¸¦ °®½À´Ï´Ù. ´Ù¸¥ Á¤¼öÇüÀº Ưº°ÇÑ °æ¿ì¿¡ »ç¿ëÇϱâ À§ÇÑ °ÍµéÀÔ´Ï´Ù. Å©±â°¡ Å« Á¤¼öÇü (longer integer) Àº ÃÖ¼ÒÇÑ Å©±â°¡ ÀÛÀº Á¤¼öÇü (shorter integer) ÀÌ»óÀÇ Å©±â¸¦ Á¦°øÇÏÁö¸¸, ´ëºÎºÐÀÇ ÄÄÆÄÀÏ·¯´Â º¸ÅëÀÇ int ÇüÀÌ short int ³ª long int ¿Í °°Àº Å©±â¸¦ °®µµ·Ï Á¦°øÇÕ´Ï´Ù. Ưº°ÇÑ ÁöÁ¤ÀÚ°¡ ºÙÁö ¾Ê´Â ÀÌ»ó int ÇüÀº ºÎÈ£ÀÖ´Â °ªÀ» ³ªÅ¸³¾ ¼ö ÀÖ½À´Ï´Ù.
  unsigned ·Î ¼±¾ðµÇ´Â ºÎÈ£¾ø´Â Á¤¼öÇüÀº 2n (n Àº Ç¥Çö¿¡ »ç¿ëµÇ´Â ºñÆ®¼ö) À¸·Î ³ª¸ÓÁö ¿¬»êµÇ±â ¶§¹®¿¡ ºÎÈ£¾ø´Â °ªÀÇ ¿¬»ê¿¡¼­ ¿À¹öÇ÷οì (overflow) °¡ ¹ß»ýÇÒ ¼ö ¾ø½À´Ï´Ù. ºÎÈ£ÀÖ´Â ´ë»óü¿¡ ÀúÀåµÉ ¼ö ÀÖ´Â ¾ç¼ö°ªÀº, ´ëÀÀÇÏ´Â ºÎÈ£¾ø´Â Çü¿¡ ÀúÀåÇÒ ¼ö ÀÖ´Â °ªÀÇ ºÎºÐÁýÇÕÀ̸ç, °ãÄ¡´Â °ªÀÇ ³»ºÎÇ¥ÇöÀº µ¿ÀÏÇÕ´Ï´Ù.
  ´ÜÁ¤µµ ºÎµ¿Çü (float), ¹èÁ¤µµ ºÎµ¿Çü (double), Ư¼öÁ¤µµ ºÎµ¿Çü (extra precision floating point, long double) Àº µ¿ÀÏÇÑ µ¥ÀÌÅÍÇüÀ¸·Î Ãë±ÞµÉ ¼öµµ ÀÖÁö¸¸, ÈÄ¿¡ ¾ð±ÞÇÑ °ÍÀϼö·Ï ´õ Á¤¹ÐÇÕ´Ï´Ù.

  long double Àº »õ·Î¿î °ÍÀÔ´Ï´Ù. ÃÊÆÇ¿¡¼­´Â long float °¡ double °ú µ¿ÀÏÇÏ´Ù°í Çß¾úÀ¸³ª, ÀÌÁ¦ long float À̶ó´Â Ç¥ÇöÀº »ç¿ëÇÏÁö ¾Ê½À´Ï´Ù.

  ¿­°ÅÇüÀº Á¤¼ö°ª (integral) À» ¸â¹ö·Î °®´Â ƯÀÌÇÑ µ¥ÀÌÅÍÇüÀ̸ç, °¢ ¿­°Å¿Í °ü·ÃÀÌ ÀÖ´Â ±× Á¤¼ö°ªµéÀº À̸§ÀÌ ºÙ¿©Áø »ó¼öµéÀÇ ÁýÇÕÀÔ´Ï´Ù. ¿­°ÅÇüÀº Á¤¼öÇü (integer) ó·³ ÇൿÇÏÁö¸¸, Ưº°ÇÑ ¿­°ÅÇü ´ë»óü¿¡ ±× »ó¼ö¿Í´Â ´Ù¸¥ °ÍÀÌ ´ëÀԵǰųª »ó¼öÀÇ ¼ö½ÄÇüŰ¡ ´ëÀ﵃ °æ¿ì, °æ°í°¡ ¹ß»ýÇÏ´Â °ÍÀÌ ÀϹÝÀûÀÔ´Ï´Ù.
  À§¿¡¼­ ¾Ë¾Æº» µ¥ÀÌÅÍÇüÀº ¼ýÀÚ¿Í °ü·ÃµÈ °ÍµéÀ̱⠶§¹®¿¡ »ê¼úÇü (arithmetic type) À̶ó°í ÇÕ´Ï´Ù. ºÎÈ£¿¡ °ü°è¾øÀÌ ¸ðµç Å©±âÀÇ char Çü°ú int Çü, ¿­°ÅÇüÀº ÇÕÇØ¼­ Á¤¼öÇü (integer type) À̶ó°í ÇÕ´Ï´Ù. ¶ÇÇÑ float, double, long double Àº ºÎµ¿Çü (floating type) À̶ó°í ÇÕ´Ï´Ù.
  void ÇüÀº °ªÀÌ ¾ø´Â °ÍÀ» ÀǹÌÇÕ´Ï´Ù. ÀÌ µ¥ÀÌÅÍÇüÀº ¸®Åϰª (¹Ýȯ°ª) ÀÌ ¾ø´Â ÇÔ¼öÀÇ ¹Ýȯ µ¥ÀÌÅÍÇüÀ¸·Î »ç¿ëµË´Ï´Ù.

¢¹ A4.3 À¯µµÇü (Derived Type)
  ±âº»Çü ¿Ü¿¡µµ, C¿¡´Â ¾Æ·¡¿Í °°Àº ¹æ¹ýÀ¸·Î ±âº»ÇüÀ¸·ÎºÎÅÍ À¯µµµÇ´Â, °³³äÀûÀ¸·Î ¹«ÇÑÇÑ À¯µµÇüÀÌ ÀÖ½À´Ï´Ù.

ÁÖ¾îÁø µ¥ÀÌÅÍÇüÀÇ ¹è¿­
ÁÖ¾îÁø µ¥ÀÌÅÍÇüÀ» ¹ÝȯÇÏ´Â ÇÔ¼ö
ÁÖ¾îÁø µ¥ÀÌÅÍÇüÀ» °¡¸£Å°´Â Æ÷ÀÎÅÍ
´Ù¾çÇÑ µ¥ÀÌÅÍÇüÀÇ ´ë»óü¸¦ ÀúÀåÇÏ´Â ±¸Á¶Ã¼
´Ù¾çÇÑ µ¥ÀÌÅÍÇü ´ë»óüÁß ¾î¶² Çϳª¸¦ ÀúÀåÇÒ ¼ö ÀÖ´Â °ø¿ëü

ÀϹÝÀûÀ¸·Î À§¿Í °°Àº À¯µµÇü ´ë»óüÀÇ ±¸¼ºÀº Àç±ÍÀûÀ¸·Î (recursively) Àû¿ëµÉ ¼ö ÀÖ½À´Ï´Ù.

¢¹ A4.4 ÇüÇÑÁ¤¾î (Type Qualifier)
  ´ë»óüÀÇ µ¥ÀÌÅÍÇü¿¡ Ãß°¡ÀûÀ¸·Î ÇÑÁ¤¾î¸¦ Àû¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ´ë»óü°¡ const ·Î ¼±¾ðµÇ¸é ÀÌ´Â ±× ´ë»óüÀÇ °ªÀÌ º¯ÇÒ ¼ö ¾øÀ½À» ÀǹÌÇÕ´Ï´Ù. ´ë»óü°¡ volatile ·Î ¼±¾ðµÇ¸é ÀÌ´Â ±× ´ë»óü°¡ ÃÖÀûÈ­¿¡ ÀûÇÕÇϵµ·Ï Ưº°ÇÑ Æ¯¼ºÀ» °¡Áö°í ÀÖÀ½À» ¸»ÇÕ´Ï´Ù. ¾î¶°ÇÑ ÇÑÁ¤¾î¶ó ÇÒÁö¶óµµ ´ë»óüÀÇ »ê¼ú°è»êÀû Ư¼ºÀ̳ª °ªÀÇ ¹üÀ§¿¡ ¿µÇâÀ» ÁÖÁö ¾Ê½À´Ï´Ù. ÇÑÁ¤¾î¿¡ ´ëÇØ¼­´Â A8.2 Àý¿¡¼­ ¼³¸íÇÏ¿´½À´Ï´Ù.


¢¹ A5. ´ë»óü¿Í Áº¯°ª (Object and Lvalue)
  ´ë»óü¶õ ±â¾ï¿µ¿ª¿¡ À̸§ÀÌ ºÙ¿©Áø (named) ºÎºÐÀ» ÀÏÄ´ ¸»ÀÔ´Ï´Ù. Áº¯°ªÀº ±×·¯ÇÑ ´ë»óü¸¦ ÂüÁ¶ÇÏ´Â (referring) ¼ö½ÄÀÔ´Ï´Ù. Áº¯°ª ¼ö½ÄÀÇ ´ëÇ¥ÀûÀÎ ¿¹´Â ÀûÀýÇÑ µ¥ÀÌÅÍÇü°ú ±â¾ïºÎ·ù¸¦ °¡Áö°í ÀÖ´Â ¸íĪ (identifier) ÀÔ´Ï´Ù. ¶ÇÇÑ ¿¬»êÀÚ Áß¿¡´Â Áº¯°ªÀ» ¸¸µé¾îÁÖ´Â ¿¬»êÀÚµµ ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î E °¡ Æ÷ÀÎÅÍÇü ¼ö½ÄÀ̶ó°í ÇÑ´Ù¸é *E ´Â E °¡ °¡¸£Å°´Â ´ë»óü¸¦ ÂüÁ¶ÇÏ´Â Áº¯°ª ¼ö½ÄÀÔ´Ï´Ù. 'Áº¯°ª (Lvalue)' À̶ó´Â À̸§Àº E1 = E2 ¶ó´Â ´ëÀÔ½ÄÀÌ ÀÖÀ» ¶§, ÁÂÃø ÇÇ¿¬»êÀÚÀÎ E1 ÀÌ ¹Ýµå½Ã Áº¯°ª ¼ö½ÄÀ̾î¾ß ÇÑ´Ù´Â µ¥¼­ À¯·¡ÇÑ °ÍÀÔ´Ï´Ù. °¢°¢ÀÇ ¿¬»êÀÚ°¡ Áº¯°ªÀ» ¿ä±¸ÇÏ´ÂÁö ¾Æ´Ï¸é Áº¯°ªÀ» ¸¸µé¾îÁÖ´ÂÁö¿¡ ´ëÇØ¼­´Â °¢ ¿¬»êÀÚ¸¦ ¼Ò°³ÇÒ ¶§ ´Ù·ç¾ú½À´Ï´Ù.


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