13-2.¸â¹öÀÇ ÂüÁ¶

13-2-°¡.¸â¹ö ¿¬»êÀÚ

°°Àº ŸÀÔÀÇ º¯¼ö ÁýÇÕÀÎ ¹è¿­À» ÂüÁ¶ÇÒ ¶§´Â [ ] ¿¬»êÀÚ¿Í Ã·ÀÚ¸¦ »ç¿ëÇÑ´Ù. [ ] ¿¬»êÀھȿ¡ ÂüÁ¶ÇÏ°íÀÚ ÇÏ´Â ¹è¿­ ¿ä¼ÒÀÇ ¹øÈ£ÀΠ÷ÀÚ¸¸ ÀûÀ¸¸é ¹è¿­ ¿ä¼Ò¸¦ Àаųª ¾µ ¼ö ÀÖ´Ù. ´ÙÀ½ÀÌ ±× ¿¹ÀÌ´Ù.

 

int ar[5];

ar[3]=1;

 

¹è¿­ ¿ä¼Ò¸¦ ÂüÁ¶ÇÏ´Â ¹æ½ÄÀÌ ÀÌ·¸°Ô ´Ü¼øÇÑ ÀÌÀ¯´Â ¹è¿­À» ±¸¼ºÇÏ´Â ¸ðµç ¿ä¼ÒÀÇ Å©±â°¡ ÀÏÁ¤ÇÏ°í ¼­·Î ÀÎÁ¢ÇØ Àֱ⠶§¹®ÀÌ´Ù. ±×·¡¼­ ´Ü¼øÈ÷ "¸î ¹ø° °Í"À̶ó´Â ¼ø¼­¸¸ ÁöÁ¤Çϸé ÷ÀÚ ¿¬»ê(Æ÷ÀÎÅÍ¿Í Á¤¼öÀÇ µ¡¼À, ±×¸®°í *¿¬»êÀÚÀÇ ÇÕÀÛ ¿¬»ê)¿¡ ÀÇÇØ ¿øÇÏ´Â ¹è¿­ ¿ä¼Ò¸¦ ½Å¼ÓÇÏ°í Á¤È®ÇÏ°Ô Ã£À» ¼ö ÀÖ´Ù. ±×·¯³ª ±¸Á¶Ã¼ÀÇ ¸â¹ö´Â ŸÀÔÀÌ Á¦°¢°¢ ´Ù¸£¸ç Å©±âµµ ´Ù¸£´Ù. µû¶ó¼­ ±¸Á¶Ã¼¿¡ ¼ÓÇÑ ¸â¹ö¸¦ ÀÐÀ» ¶§´Â "ù ¹ø° ¸â¹ö"³ª "µÎ ¹ø° ¸â¹ö" µûÀ§ÀÇ ¼ø¼­°ªÀ» »ç¿ëÇÒ ¼ö ¾øÀ¸¸ç º°µµÀÇ ¿¬»êÀÚ¿Í ¸â¹öÀÇ À̸§À» »ç¿ëÇØ¾ß ÇÑ´Ù.

±¸Á¶Ã¼ÀÇ ¸â¹ö¸¦ ÀÐÀ» ¶§´Â ¸â¹ö ¿¬»êÀÚ¸¦ »ç¿ëÇϴµ¥ ¸ð¾çÀº ¸¶Ä§Ç¥¿Í °°´Ù. Áï Á¡(.) Çϳª·Î µÇ¾î ÀÖÀ¸¸ç "±¸Á¶Ã¼¸í.¸â¹ö¸í" Çü½ÄÀ¸·Î »ç¿ëÇÑ´Ù. ¿¹¸¦ µé¾î Friend±¸Á¶Ã¼ÀÇ Age ¸â¹ö°ªÀ» ÀаíÀÚ ÇÑ´Ù¸é Friend.Age¶ó°í ¾²¸é µÈ´Ù. ´ÙÀ½ ¿¹Á¦´Â ±¸Á¶Ã¼¿¡ Á¤º¸¸¦ ´ëÀÔÇØ º¸°í ±× °ªÀ» Ãâ·ÂÇÑ´Ù.

 

¿¹ Á¦ : Struct

#include <Turboc.h>

 

struct tag_Friend {

     char Name[10];

     int Age;

     double Height;

};

 

void main()

{

     tag_Friend Friend;

 

     strcpy(Friend.Name,"¾Æ¹«°³");

     Friend.Age=30;

     Friend.Height=178.2;

    

     printf("À̸§=%s, ³ªÀÌ=%d, Å°=%.1f\n",Friend.Name,Friend.Age,Friend.Height);

}

 

main ÇÔ¼ö ÀÌÀü¿¡ tag_Friend¶ó´Â À̸§À¸·Î ±¸Á¶Ã¼ ű׸¦ ¸ÕÀú ¼±¾ðÇߴµ¥ ¿­°ÅÇüÀ̳ª ±¸Á¶Ã¼°°Àº »ç¿ëÀÚ Á¤ÀÇ Å¸ÀÔÀº °¡±ÞÀûÀ̸é main ÇÔ¼ö ÀÌÀü¿¡ ¼±¾ðÇØ¾ß ¸ðµç ÇÔ¼ö¿¡¼­ ÀÌ Å¸ÀÔÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù. main ÇÔ¼ö ¾È¿¡ ±¸Á¶Ã¼ ű׸¦ ¼±¾ðÇÒ ¼öµµ ÀÖÁö¸¸ ÀÌ·¸°Ô µÇ¸é ÀÌ ±¸Á¶Ã¼´Â main ÇÔ¼ö ¾È¿¡¼­¸¸ »ç¿ëÇÒ ¼ö ÀÖ´Â Áö¿ª ŸÀÔÀÌ µÈ´Ù. ÅÂ±× Á¤ÀÇ´Â ½ÇÁ¦·Î º¯¼ö¸¦ »ý¼ºÇÏ´Â °Íµµ ¾Æ´Ï¹Ç·Î °¡±ÞÀûÀÌ¸é ¾ÕÂÊ¿¡ ¼±¾ðÇÏ¿© ÄÄÆÄÀÏ·¯°¡ ¸ÕÀú ¾Ë ¼ö ÀÖµµ·Ï ÇÏ´Â °ÍÀÌ ÁÁ´Ù.

main ÇÔ¼ö¿¡¼­´Â ű׷κÎÅÍ Friend¶ó´Â À̸§ÀÇ ±¸Á¶Ã¼ º¯¼ö¸¦ ¼±¾ðÇß´Ù. Friend´Â Name, Age, Height µîÀÇ ¸â¹ö¸¦ °¡Áö´Âµ¥ ÀÌ ¸â¹öµéÀ» ÀÐ°í ¾µ ¶§´Â ¸â¹ö ¿¬»êÀÚ¸¦ »ç¿ëÇÑ´Ù. Age ¸â¹ö¿¡ 30À» ´ëÀÔÇÏ·Á¸é Friend.Age=30; À̶ó´Â ´ëÀÔ¹®À» »ç¿ëÇϸç Height ¸â¹öÀÇ °ªÀ» ÀÐ°í ½ÍÀ» ¶§´Â Friend.Height¶ó°í ¾´´Ù.

±¸Á¶Ã¼ ¸â¹öµéÀº Å©±â°¡ Á¦°¢°¢À̱⠶§¹®¿¡ ¹è¿­Ã³·³ ´Ü¼øÇÑ °ö¼ÀÀ¸·Î ¸â¹öÀÇ À§Ä¡¸¦ ãÀ» ¼ö ¾øÀ¸¸ç ±¸Á¶Ã¼ ½ÃÀÛ ¹øÁö·ÎºÎÅÍ ¸â¹ö±îÁöÀÇ °Å¸®ÀÎ ¿ÀÇÁ¼Â(offset)À» ´õÇØ ¸â¹ö¸¦ Àд´Ù. Friend.Height ¿¬»ê¹®¿¡ ÀÇÇØ Height¸â¹ö°¡ ÀÐÇôÁö´Â °úÁ¤À» º¸ÀÚ. ±¸Á¶Ã¼ º¯¼ö´Â ¸â¹öµéÀÇ ÁýÇÕÀÌ¸ç ¸Þ¸ð¸®¿¡ »ý¼ºµÉ ¶§ ¼±¾ðµÈ ¸â¹ö°¡ ¼ø¼­´ë·Î ÇÒ´çµÈ´Ù. Friend ±¸Á¶Ã¼´Â ´ÙÀ½°ú °°Àº ¸ð¾çÀ» °¡Áö¸ç ¸Þ¸ð¸®»óÀÇ À§Ä¡´Â ½ÇÇàÇÒ ¶§¸¶´Ù ´Þ¶óÁöÁö¸¸ ¼³¸íÀÇ ÆíÀÇ»ó 1000¹øÁö¿¡ »ý¼ºµÇ¾ú´Ù°í ÇÏÀÚ.

¿ÀÇÁ¼ÂÀº ±¸Á¶Ã¼ÀÇ ½ÃÀÛ ¹øÁö¿¡¼­ ¸â¹ö±îÁöÀÇ °Å¸®Àε¥ ÀÌ °ªÀº Àڱ⺸´Ù ¾Õ¿¡ ÀÖ´Â ¸â¹öµéÀÇ Å©±âÀÇ ÃÑÇÕ°ú °°´Ù. ù ¹ø° ¸â¹öÀÎ NameÀÇ ¿ÀÇÁ¼ÂÀº 0À̸ç Age´Â NameÀÇ Å©±â¸¸Å­ ´õÇÑ ¿ÀÇÁ¼Â 10À» °¡Áö°í Height´Â Àڱ⺸´Ù ¾Õ¿¡ ¼±¾ðµÇ¾î ÀÖ´Â Name°ú AgeÀÇ Å©±âÀÇ ÇÕ 14¸¸Å­ÀÇ ¿ÀÇÁ¼ÂÀ» °¡Áø´Ù. ÀÌ »óÅ¿¡¼­ ¸â¹ö ¿¬»êÀÚ·Î Height¸¦ ÀÐÀ¸¸é ÀÌ ¿¬»êÀÚ´Â ±¸Á¶Ã¼ÀÇ ½ÃÀÛ ¹øÁö¿¡¼­ ¿ÀÇÁ¼ÂÀ» ´õÇØ ¸â¹öÀÇ ½ÃÀÛ ¹øÁö¸¦ ã°í ÀÌ ¹øÁö¿¡¼­ ¸â¹öÀÇ Å¸ÀÔ¸¸Å­ °ªÀ» Àд´Ù. HeightÀÇ ¿ÀÇÁ¼ÂÀº 14À̹ǷΠ1000+14=1014¹øÁö¿¡¼­ ½ÃÀ۵Ǹç ÀÌ ¸â¹ö°¡ doubleÇüÀ¸·Î Á¤ÀǵǾî ÀÖÀ¸¹Ç·Î ÀÌ ¹øÁö¿¡¼­ºÎÅÍ 8¹ÙÀÌÆ®¸¦ ÀÐÀ¸¸é µÈ´Ù.

ÄÄÆÄÀÏ·¯´Â ±¸Á¶Ã¼°¡ ¼±¾ðµÉ ¶§ °¢ ¸â¹öÀÇ ¿ÀÇÁ¼Â°ú ŸÀÔÀ» ±â¾ïÇØ µÐ´Ù. ±×¸®°í ¸â¹ö¸¦ ÂüÁ¶ÇÏ´Â ¹®ÀåÀ» ¸¸³ª¸é ±¸Á¶Ã¼ÀÇ ½ÃÀÛ ¹øÁö¿¡¼­ ¿ÀÇÁ¼ÂÀ» ´õÇѸ¸Å­ À̵¿ÇÑ ÈÄ ÀÌ À§Ä¡¿¡¼­ ¸â¹öÀÇ Å¸ÀÔ ±æÀ̸¸Å­ °ªÀ» Àеµ·Ï Äڵ带 »ý¼ºÇÒ °ÍÀÌ´Ù. ÀÌ·± µ¿ÀÛÀ» ÇÏ´Â ¿¬»êÀÚ°¡ ¹Ù·Î . ¿¬»êÀÚÀÌ´Ù.

¹è¿­ ¿ä¼Ò¿Í ¸¶Âù°¡Áö·Î ¸â¹ö´Â ±¸Á¶Ã¼¿¡ ¼Ò¼ÓµÇ¾î ÀÖÀ» »ÓÀÌÁö ÀÏ¹Ý º¯¼ö¿Í ¿ÏÀüÈ÷ °°Àº ÀÚ°ÝÀ» °¡Áø´Ù. FriendÀÇ ¸â¹ö Age´Â Á¤¼öÇüÀ¸·Î ¼±¾ðµÇ¾î ÀÖÀ¸¹Ç·Î Á¤¼ö°ªÀ» ±â¾ïÇϸç Á¤¼öÇü º¯¼ö°¡ »ç¿ëµÉ ¼ö ÀÖ´Â °÷ÀÌ¸é ¾î´À °÷¿¡µçÁö ¿Ã ¼ö ÀÖ´Ù. ´Ù¸¸ ±¸Á¶Ã¼¿¡ ¼ÓÇØ Àֱ⠶§¹®¿¡ ÀÌ °ªÀ» Àаųª ¾µ ¶§ ¹Ýµå½Ã ¸â¹ö ¿¬»êÀÚ·Î ¾î´À ±¸Á¶Ã¼¿¡ ¼ÓÇØ ÀÖ´ÂÁö¸¦ ¹àÇô¾ß ÇÑ´Ù´Â °Í¸¸ ´Ù¸£´Ù.

±¸Á¶Ã¼ ¸â¹öÀÇ Åë¿ë ¹üÀ§´Â ±¸Á¶Ã¼ ³»ºÎ·Î ±¹ÇÑµÇ¸ç ±¸Á¶Ã¼ ¾øÀÌ ¸â¹ö Ȧ·Î »ç¿ëµÉ ¼ö´Â ¾ø´Ù. ±×·¡¼­ ¸â¹ö¸¦ ÂüÁ¶ÇÒ ¶§´Â ¹Ýµå½Ã ¾Õ¿¡ ¼Ò¼ÓÀ» ¹àÇô¾ß Çϴµ¥ ÀÌ´Â ¼Ò¼ÓÀÌ ´Ù¸£¸é ¸â¹öÀÇ À̸§ÀÌ °°¾Æµµ »ó°ü¾ø´Ù´Â ¾ê±âµµ µÈ´Ù. ´ÙÀ½°ú °°ÀÌ ´Ù¸¥ ±¸Á¶Ã¼ ³»¿¡¼­ °°Àº À̸§À¸·Î ¸â¹ö¸¦ °¢°¢ ¼±¾ðÇÒ ¼ö ÀÖ´Ù.

 

struct {

     int Value;

     double Ratio;

     char Name[10];

} Score;

struct {

     double Value;

     char Product[32];

     int Num;

} Sales;

 

Score ±¸Á¶Ã¼¿Í Sales ±¸Á¶Ã¼¿¡ Value¶ó´Â °°Àº À̸§ÀÇ ¸â¹ö°¡ °¢°¢ ¼±¾ðµÇ¾î ÀÖÀ¸¸ç ŸÀÔµµ ¼­·Î ´Ù¸£´Ù. ÇÏÁö¸¸ µÎ ¸â¹öÀÇ ¼Ò¼ÓÀÌ ´Ù¸£±â ¶§¹®¿¡ ÀÌ·¸°Ô ¸íĪÀÌ Áߺ¹µÇ¾îµµ ¸ðÈ£ÇÏÁö ¾ÊÀ¸¸ç ¾Æ¹«·± ¹®Á¦°¡ ¾ø´Ù. µÎ ¸â¹ö¸¦ »ç¿ëÇÒ ¶§´Â Ç×»ó Score.Value¿Í Sales.Value ½ÄÀ¸·Î ¼Ò¼ÓµÈ ±¸Á¶Ã¼¸¦ ¹àÇô¾ß Çϸç ÄÄÆÄÀÏ·¯´Â ±¸Á¶Ã¼ ¼±¾ðÀ» ¾Ë°í ÀÖÀ¸¹Ç·Î °¢ ¸â¹öÀÇ Å¸ÀÔÀ» Á¤È®ÇÏ°Ô ±¸ºÐÇÒ ¼ö ÀÖ´Ù.