13-2-´Ù.±¸Á¶Ã¼ ¹è¿­

¹è¿­ÀÇ ¿ä¼Ò°¡ µÉ ¼ö Àִ ŸÀÔ¿¡´Â Á¦ÇÑÀÌ ¾ø´Ù. µû¶ó¼­ ±¸Á¶Ã¼µµ ¹è¿­ÀÇ ¿ä¼Ò°¡ µÉ ¼ö ÀÖÀ¸¸ç ±¸Á¶Ã¼ ¹è¿­À» Á¤ÀÇÇÏ´Â °ÍÀÌ °¡´ÉÇÏ´Ù. tag_Friend ŸÀÔÀÇ ±¸Á¶Ã¼ º¯¼ö 10°³¸¦ ¸ð¾Æ¼­ ÁÖ¼Ò·ÏÀ» ¸¸µé°í ½Í´Ù¸é ´ÙÀ½°ú °°ÀÌ ¼±¾ðÇÑ´Ù. Å©±â 10ÀÇ Á¤¼öÇü ¹è¿­À» ¼±¾ðÇÏ´Â °Í°ú Çü½Ä»ó ´Ù¸¦ ¹Ù°¡ ÀüÇô ¾ø´Ù.

 

tag_Friend arJuso[10];

 

±¸Á¶Ã¼¸¦ ±¸¼ºÇÏ´Â ¸â¹ö´Â ŸÀÔÀÌ ¸ðµÎ ´Ù¸£Áö¸¸ ¹è¿­À» ±¸¼ºÇÏ´Â ¿ä¼Ò´Â ¸ðµÎ ±¸Á¶Ã¼¶ó´Â °°Àº ŸÀÔÀ̹ǷΠ¹è¿­ÀÌ µÉ ¼ö ÀÖ´Ù. À§ ¼±¾ð¹®¿¡¼­ arJusoÀÇ Á¤Ã¼´Â ŸÀÔÀÌ ´Ù¸¥ º¯¼öÀÇ ÁýÇÕÀÎ tag_Friend¶ó´Â °°Àº ŸÀÔÀÇ ±¸Á¶Ã¼ ÁýÇÕÀ̶ó°í ÇÒ ¼ö ÀÖÀ¸¸ç ¸Þ¸ð¸®¿¡´Â ´ÙÀ½°ú °°ÀÌ »ý¼ºµÉ °ÍÀÌ´Ù.

¹è¿­¼Ó¿¡ ±¸Á¶Ã¼°¡ ÀÖ°í ±¸Á¶Ã¼ ¼Ó¿¡´Â ¸â¹öµéÀÌ ÀÖ´Ù. ÀÌ »óÅ¿¡¼­ ƯÁ¤ ±¸Á¶Ã¼ÀÇ ¸â¹ö¸¦ ÀÐ°í ½Í´Ù¸é ÷ÀÚ ¿¬»êÀÚ¿Í ¸â¹ö ¿¬»êÀÚ¸¦ °°ÀÌ »ç¿ëÇÑ´Ù. ¿¹¸¦ µé¾î ¼¼ ¹ø° ¿ä¼ÒÀÇ ³ªÀÌ°ª¿¡ 30À» ´ëÀÔÇÏ°í ½Í´Ù¸é ´ÙÀ½°ú °°ÀÌ ÇÑ´Ù.

 

arJuso[2].Age=30;

 

÷ÀÚ ¿¬»êÀÚ [ ]¿Í ¸â¹ö ¿¬»êÀÚ .Àº µÑ ´Ù 1¼øÀ§ÀÌ°í ¿ÞÂÊ ¿ì¼±ÀÇ °áÇÕ ¼ø¼­¸¦ °¡Áö¹Ç·Î arJuso[2]°¡ ¸ÕÀú ¿¬»êµÇ¾î ¹è¿­¿¡¼­ 2¹ø° ±¸Á¶Ã¼¸¦ ã´Â´Ù. ´ÙÀ½À¸·Î ¸â¹ö ¿¬»êÀÚ¿¡ ÀÇÇØ 2¹ø° ±¸Á¶Ã¼ÀÇ Age ¸â¹ö¸¦ ãÀ» °ÍÀÌ´Ù. arJuso.Age[2]=30; ÀÌ ¾Æ´ÔÀ» À¯ÀÇÇÏÀÚ. ±×¸²¿¡¼­ ÁøÇÏ°Ô Ç¥½ÃµÇ¾î ÀÖ´Â Age¸â¹ö¿¡ 30À̶ó´Â Á¤¼ö°ªÀÌ ´ëÀԵȴÙ.

±¸Á¶Ã¼°¡ ¹è¿­ÀÇ ¿ä¼ÒÀÎ °æ¿ì¸¦ »ìÆì ºÃ´Âµ¥ À̹ø¿¡´Â ¹Ý´ëÀÇ °æ¿ì¸¦ º¸ÀÚ. ±¸Á¶Ã¼°¡ ¹è¿­ÀÇ ¿ä¼Ò°¡ µÉ ¼ö ÀÖ´Â °Í°ú ¸¶Âù°¡Áö·Î ¹è¿­µµ ±¸Á¶Ã¼ÀÇ ¸â¹ö°¡ µÉ ¼ö Àִµ¥ tag_Friend ±¸Á¶Ã¼ÀÇ Name¸â¹ö°¡ ¹Ù·Î ¹®ÀÚÇü ¹è¿­·Î ¼±¾ðµÇ¾î ÀÖ´Ù. ±¸Á¶Ã¼¿¡ ¼ÓÇÑ ¹è¿­ÀÇ ÇÑ ¿ä¼Ò¸¦ ÂüÁ¶ÇÏ°í ½ÍÀ» ¶§µµ ¸â¹ö ¿¬»êÀÚ¿Í Ã·ÀÚ ¿¬»êÀÚ¸¦ °°ÀÌ »ç¿ëÇÏ¸é µÈ´Ù. ´ÙÀ½ ÄÚµå´Â Friend ±¸Á¶Ã¼ÀÇ ¸â¹öÀÎ Name ¹è¿­ÀÇ Ã¹ ¹ø° ¿ä¼Ò¿¡ ¹®ÀÚ »ó¼ö 'K'¸¦ ´ëÀÔÇÑ´Ù.

 

tag_Friend Friend;

Friend.Name[0]='K';

 

À̹ø¿¡´Â ¸â¹ö ¿¬»êÀÚ°¡ ¸ÕÀú ½ÇÇàµÇ¾î Friend ±¸Á¶Ã¼ÀÇ Name ¸â¹ö¸¦ ¸ÕÀú ãÀ¸¸ç ´ÙÀ½À¸·Î ÷ÀÚ ¿¬»êÀÚ°¡ ½ÇÇàµÇ¾î Name ¹è¿­ÀÇ Ã¹ ¹ø° ¿ä¼Ò¸¦ ÂüÁ¶ÇÏ°Ô µÈ´Ù. ´ÙÀ½Àº Á¶±Ý ´õ º¹ÀâÇÑ ÇüŸ¦ º¸ÀÚ. arJuso ¹è¿­¿¡ ±¸Á¶Ã¼°¡ ÀÖ°í ÀÌ ±¸Á¶Ã¼¿¡ Name ¹è¿­ÀÌ Àִµ¥ ¹è¿­¿¡ ¼ÓÇÑ ±¸Á¶Ã¼¿¡ ¼ÓÇÑ ¹è¿­ÀÇ ÇÑ ¿ä¼Ò¸¦ ÀÐ°í ½Í´Ù¸é ´ÙÀ½°ú °°ÀÌ Äڵ带 ÀÛ¼ºÇÑ´Ù.

 

arJuso[1].Name[2]='J';

 

ÁÖ¼Ò·ÏÀÇ µÎ ¹ø° »ç¶÷ À̸§ÀÇ ¼¼ ¹ø° ¹®ÀÚ¿¡ 'J'¸¦ ´ëÀÔÇÏ´Â ¿¬»ê¹®ÀÌ´Ù. ±¸Á¶Ã¼¿Í ¹è¿­ÀÇ Æ÷ÇÔ°ü°è´Â ÀÌó·³ Ç×»ó °¡´ÉÇÏ¸ç ¼ø¼­³ª ±íÀÌÀÇ Á¦Çѵµ ¾ø±â ¶§¹®¿¡ ¶§·Î´Â ¹«Ã´ º¹ÀâÇØ º¸ÀÏ ¼öµµ ÀÖ´Ù. ±×·¯³ª ¼ø¼­´ë·Î [ ] ¿¬»êÀÚ¿Í . ¿¬»êÀÚ¸¸ »ç¿ëÇϸé ÂüÁ¶ÇÏ°íÀÚ ÇÏ´Â ´ë»óÀ» ã´Â °ÍÀº ±×¸® ¾î·ÆÁö ¾ÊÀ» °ÍÀÌ´Ù.

±×·¸´Ù¸é ±¸Á¶Ã¼¿Í ¹è¿­ÀÇ ÀÌ º¹ÀâÇÑ °ü°è¿¡ Æ÷ÀÎÅ͸¦ Ãß°¡Çؼ­ »ý°¢ÇØ º¸±â·Î ÇÏÀÚ. Æ÷ÀÎÅÍ°¡ °¡¸®Å³ ¼ö Àִ ŸÀÔ¿¡µµ Á¦ÇÑÀÌ ¾ø±â ¶§¹®¿¡ Æ÷ÀÎÅÍ°¡ ±¸Á¶Ã¼³ª ¹è¿­À» °¡¸®Å³ ¼ö ÀÖ°í ±¸Á¶Ã¼ ¹è¿­À» °¡¸®Å³ ¼öµµ ÀÖ´Ù. ´ÙÀ½Àº ±¸Á¶Ã¼ Æ÷ÀÎÅÍ ¹è¿­ÀÌ´Ù.

 

tag_Friend *pJuso[10];

 

pJuso´Â ÀÏ´ÜÀº Å©±â 10ÀÇ ¹è¿­ÀÌµÇ tag_FriendÇüÀÇ ±¸Á¶Ã¼¸¦ °¡¸®Å³ ¼ö ÀÖ´Â Æ÷ÀÎÅ͸¦ ¹è¿­ ¿ä¼Ò·Î °¡Áø´Ù. ÀÌ ¹è¿­ÀÇ °¢ ¿ä¼ÒÀÎ pJuso[0], pJuso[1], pJuso[2] µîÀº tag_FriendÇüÀÇ ±¸Á¶Ã¼¸¦ °¡¸®Å³ ¼ö ÀÖÀ¸¸ç ÀÌ·± µ¿ÀÏÇÑ Å¸ÀÔÀÇ Æ÷ÀÎÅÍ º¯¼ö 10°³°¡ pJuso¶ó´Â À̸§ÀÇ ¹è¿­·Î ¼±¾ðµÇ¾î ÀÖ´Â °ÍÀÌ´Ù. ÀÌ ¹è¿­ÀÌ ¸Þ¸ð¸®¿¡ »ý¼ºµÈ ¸ð¾çÀ» ±×·Á º¸¸é ´ÙÀ½°ú °°´Ù.

ÀÌ »óÅ¿¡¼­ pJuso ¹è¿­¿¡ ÀúÀåµÈ Æ÷ÀÎÅÍ°¡ °¡¸®Å°´Â ±¸Á¶Ã¼ÀÇ ÇÑ ¸â¹ö¸¦ ÂüÁ¶ÇÏ°í ½Í´Ù¸é ´ÙÀ½°ú °°ÀÌ ÇÑ´Ù.

 

pJuso[3]->Age=40;

 

pJuso ¹è¿­ÀÇ ³× ¹ø° ¿ä¼Ò°¡ °¡¸®Å°´Â °÷¿¡ ÀúÀåµÈ tag_Friend ±¸Á¶Ã¼ÀÇ Age ¸â¹ö¿¡ 40À» ´ëÀÔÇÏ´Â ¹®ÀåÀÌ´Ù. ±×¸²¿¡¼­ ÁøÇÏ°Ô Ç¥½ÃµÇ¾î ÀÖ´Â Age ¸â¹ö¿¡ 40À̶ó´Â Á¤¼ö°ªÀÌ ´ëÀԵȴÙ. ->¿¬»êÀÚÀÇ Á¤ÀÇ¿¡ ÀÇÇØ ÀÌ ¹®ÀåÀº (*pJuso[3]).Age=40;°ú µ¿ÀÏÇϸç [ ] ¿¬»êÀÚÀÇ Á¤ÀÇ¿¡ ÀÇÇØ ÀÌ ¹®ÀåÀº (**(pJuso+3)).Age¿Íµµ µ¿ÀÏÇÏ´Ù. ¾Æ¹«·¡µµ Æ÷ÀÎÅÍ ¿¬»êÀÚ¸¦ Á÷Á¢ ¾´ ¹®À庸´Ù´Â [ ], -> ¿¬»êÀÚ¸¦ »ç¿ëÇÑ ¹®ÀåÀÌ ´õ Àб⠽±´Ù.

[ ] ¿¬»êÀÚ°¡ Á¦ÀÏ ¸ÕÀú ½ÇÇàµÇ¾î pJuso ¹è¿­ÀÇ ³× ¹ø° ¿ä¼Ò°ªÀ» ¸ÕÀú Àдµ¥ ÀÌ °ªÀº tag_Friend ±¸Á¶Ã¼¸¦ °¡¸®Å°´Â Æ÷ÀÎÅÍÀÌ´Ù. ÀÌ Æ÷ÀÎÅÍ°¡ °¡¸®Å°´Â °÷¿¡ ÀúÀåµÇ¾î ÀÖ´Â tag_Friend ±¸Á¶Ã¼¸¦ ¸ÕÀú Àаí ÀÌ ±¸Á¶Ã¼ÀÇ ¸â¹öÀÎ Age¸¦ ÂüÁ¶Çß´Ù. ±¸Á¶Ã¼ ¹è¿­¿¡¼­ ¸â¹ö¸¦ ÀÐÀ» ¶§´Â ¸â¹ö ¿¬»êÀÚ .À» »ç¿ëÇߴµ¥ ±¸Á¶Ã¼ Æ÷ÀÎÅÍ ¹è¿­ÀÇ °æ¿ì¿¡´Â Æ÷ÀÎÅÍ ¸â¹ö ¿¬»êÀÚ ->¸¦ »ç¿ëÇÑ´Ù´Â °Í¸¸ ´Ù¸£´Ù.

¹«Ã´ º¹ÀâÇØ º¸ÀÌ°ÚÁö¸¸ ¹è¿­, Æ÷ÀÎÅÍ, ±¸Á¶Ã¼¸¦ Âø½ÇÇÏ°Ô °øºÎÇØ¿Ô´Ù¸é ÀÌµé ¿¬»êÀÚÀÇ »ç¿ë¹ýÀº Áö±ØÈ÷ ÀÚ¿¬½º·´°Ô ÀÌÇØµÉ °ÍÀÌ´Ù. °¢ ŸÀÔÀÌ ÁßøµÈ ¼ø¼­´ë·Î ÂüÁ¶ÇÏ°í ½ÍÀº º¯¼ö¿¡ µµ´ÞÇÒ ¶§±îÁö ÀûÀýÇÑ ¿¬»êÀÚ¸¦ »ç¿ëÇÏ¸é µÈ´Ù. »ç½Ç Ãʺ¸ÀÚ¿¡°Ô´Â ´Ù¼Ò Çò°¥¸®´Â ¸éÀÌ ÀÖ±â´Â ÇÏÁö¸¸ ¿¬»êÀÚÀÇ µ¿ÀÛ°ú »ç¿ë ¹æ¹ý¿¡ ÀÏ°ü¼ºÀÌ Àֱ⠶§¹®¿¡ Á¶±Ý¸¸ ¿¬½ÀÇØ º¸¸é ±Ý¹æ Àͼ÷ÇØÁú ¼ö ÀÖ´Ù.

´ÙÀ½ ¿¹Á¦´Â Áö±Ý±îÁö ¼³¸íÇÑ Äڵ尡 Á¦´ë·Î µ¿ÀÛÇÏ´ÂÁö Å×½ºÆ®ÇØ º¸±â À§ÇØ ÀÛ¼ºÇߴµ¥ ¹®¹ýÀÇ Àû¹ý¼º¸¸ Å×½ºÆ®ÇÏ¸ç º°´Ù¸¥ Ãâ·ÂÀº ¾ø´Ù. ÀÌ ¿¹Á¦°¡ Á¦´ë·Î ÄÄÆÄÀϵǴÂÁö È®ÀÎÇØ º¸°í ´Ù¾çÇÑ ¹æ¹ýÀ¸·Î ±¸Á¶Ã¼¿Í ¹è¿­°ú Æ÷ÀÎÅ͸¦ »ç¿ëÇÏ´Â ½Ç½ÀÀ» ÇØ º¸±â ¹Ù¶õ´Ù.

 

¿¹ Á¦ : StructArrayPointer

#include <Turboc.h>

 

void main()

{

     struct tag_Friend {

          char Name[10];

          int Age;

          double Height;

     };

 

     // ±¸Á¶Ã¼ ¹è¿­ »ç¿ë¿¹

     tag_Friend arJuso[10];

     arJuso[5].Age=30;

 

     // ±¸Á¶Ã¼¿¡ ¼ÓÇÑ ¹è¿­ »ç¿ë¿¹

     tag_Friend Friend;

     Friend.Name[0]='K';

 

     // ¹è¿­¿¡ ¼ÓÇÑ ±¸Á¶Ã¼¿¡ ¼ÓÇÑ ¹è¿­ »ç¿ë¿¹

     arJuso[1].Name[2]='J';

 

     // ±¸Á¶Ã¼ Æ÷ÀÎÅÍ ¹è¿­ »ç¿ë¿¹

     tag_Friend *pJuso[10];

     int i;

     for (i=0;i<10;i++) {

          pJuso[i]=(tag_Friend *)malloc(sizeof(tag_Friend));

     }

 

     pJuso[3]->Age=40;

 

     for (i=0;i<10;i++) {

          free(pJuso[i]);

     }

}

 

¿¹Á¦¿¡¼­´Â ±¸Á¶Ã¼ Æ÷ÀÎÅÍ ¹è¿­ pJuso¸¦ ÃʱâÈ­Çϱâ À§ÇØ malloc ÇÔ¼ö¸¦ »ç¿ëÇÏ¿© µ¿ÀûÀ¸·Î ÇÒ´çÇß´Ù. pJuso ¹è¿­ÀÇ ¸ðµç ¿ä¼Ò°¡ tag_Friend ±¸Á¶Ã¼¸¦ °¡¸®Å°µµ·Ï ÃʱâÈ­ÇØ¾ß Çϴµ¥ µ¿Àû ÇÒ´çÀÌ °¡Àå ½¬¿î ¹æ¹ýÀ̱⠶§¹®ÀÌ´Ù. µ¿ÀûÇÒ´çµÈ ±¸Á¶Ã¼´Â ÇÁ·Î±×·¥À» Á¾·áÇϱâ Àü¿¡ ¹Ýµå½Ã ÇØÁ¦ÇØ¾ß ÇÑ´Ù.