11-2-´Ù.Æ÷ÀÎÅÍ¿Í ¹è¿­

Æ÷ÀÎÅÍ¿Í ¹è¿­Àº ºñ½ÁÇÑ °Í °°À¸¸é¼­µµ ´Þ¶ó ¹«Ã´ Çò°¥¸®´Âµ¥ ¿©±â¼­ ÀÌ µÑÀÇ °³³äÀ» Á» Á¤¸®ÇØ º¸µµ·Ï ÇÏÀÚ. ¸ÕÀú °¡Àå ½¬¿î ´ÙÀ½ ¼±¾ð¹®À» º¸ÀÚ.

 

int i;

 

ÀÌ ¼±¾ð¹®Àº Á¤¼öÇü º¯¼ö¸¦ i¶ó´Â À̸§À¸·Î ¼±¾ðÇϴµ¥ ÄÄÆÄÀÏ·¯´Â i¸¦ À§ÇØ 4¹ÙÀÌÆ®¸¦ ÇÒ´çÇÑ´Ù. ³Ê¹« ³Ê¹« ½¬¿î ¹®ÀåÀ̶ó ÇÑ ´« °¨°í Àо ÀÌÇØÇÒ ¼ö ÀÖ´Ù. ´ÙÀ½ µÎ ¼±¾ð¹®µµ Áö±Ý±îÁö ¿©·¯ ¹ø ÇнÀÇß´ø °ÍÀ̹ǷΠÀǹ̸¦ ½±°Ô ¾Ë ¼ö ÀÖÀ» °ÍÀÌ´Ù.

 

int ar[n];

int *pi;

 

ar[n]Àº Á¤¼öÇü º¯¼ö n°³¸¦ ¸ð¾Æ ³õÀº Á¤¼öÇü ¹è¿­ÀÌ´Ù. ¿©±â¼­ nÀº º¯¼ö°¡ ¾Æ´Ï¶ó ÀÓÀÇÀÇ »ó¼ö¸¦ ÀǹÌÇϸç ÇÊ¿äÇѸ¸Å­ÀÇ Å©±â¸¦ ÁÙ ¼ö ÀÖ´Ù. ÀÌ ¼±¾ð¿¡ ÀÇÇØ ÄÄÆÄÀÏ·¯´Â Á¤¼öÇü º¯¼ö n°³¸¦ ÀúÀåÇÒ ¼ö ÀÖ´Â ¿¬¼ÓÀûÀÎ ¸Þ¸ð¸®¸¦ ÇÒ´çÇϸç nÀÌ 5¶ó°í ÇÒ ¶§ sizeof(ar)Àº 20ÀÌ µÉ °ÍÀÌ´Ù. arÀ̶ó´Â ¹è¿­ÀÇ À̸§Àº ¹è¿­ÀÇ ½ÃÀÛ ¹øÁö¸¦ °¡¸®Å°´Â ÁÖ¼Ò°ªÀ¸·Î Æò°¡µÈ´Ù.

pi´Â Á¤¼öÇü º¯¼ö ÇϳªÀÇ À§Ä¡¸¦ °¡¸®Å³ ¼ö ÀÖ´Â Æ÷ÀÎÅÍÀ̸ç pi ÀÚü´Â ÇϳªÀÇ Æ÷ÀÎÅÍ º¯¼öÀÏ »ÓÀ̹ǷΠÄÄÆÄÀÏ·¯°¡ pi¸¦ À§ÇØ ÇÒ´çÇÏ´Â ¸Þ¸ð¸®´Â Ç×»ó 4¹ÙÀÌÆ®ÀÌ´Ù. sizeof(pi)´Â 4°¡ µÈ´Ù. pi´Â &i°°Àº Á¤¼öÇü º¯¼öÀÇ ÁÖ¼Ò°ªÀ» ´ëÀԹ޴´Ù. ±×·¯³ª ½ÇÇàÁß¿¡ µ¿ÀûÀ¸·Î ¸Þ¸ð¸®¸¦ ÇÒ´çÇϸé pi·Îµµ Á¤¼öÇü ¹è¿­À» °¡¸®Å³ ¼ö ÀÖ´Ù.

 

pi=(int *)malloc(n*sizeof(int));

 

malloc ÇÔ¼ö´Â Á¤¼öÇü º¯¼ö n°³¸¦ ÀúÀåÇÒ¸¸Å­ÀÇ ¸Þ¸ð¸®¸¦ ÇÒ´çÇÑ ÈÄ ±× ½ÃÀÛ ¹øÁö¸¦ ¸®ÅÏÇϸç ÀÌ ¹øÁö¸¦ pi·Î ´ëÀÔ¹Þ¾Ò´Ù. ÀÌ·¸°Ô µÇ¸é pi´Â ar°ú ¶È°°Àº ÀÚ°ÝÀ» °¡Áö¸ç Á¤¼öÇü ¹è¿­Ã³·³ Ç༼ÇÒ ¼ö ÀÖ´Ù. pi³ª arÀ̳ª µÑ ´Ù ¹è¿­ÀÇ ¼±µÎ ¹øÁö¸¦ °¡¸®Å°¸ç ar[2]·Î 2¹ø° ¿ä¼Ò¸¦ ÀÐÀ» ¼ö ÀÖµíÀÌ pi[2]·Îµµ 2¹ø° ¿ä¼Ò¸¦ ÀÐÀ» ¼ö ÀÖ´Ù. ¼³»ç pi°¡ µ¿Àû ÇÒ´çÇÑ ¸Þ¸ð¸®°¡ ¾Æ´Ñ ´Ü¼ø Á¤¼öÇü º¯¼öÀÇ ¹øÁö &i¸¦ ´ëÀÔ¹Þ¾Ò´õ¶óµµ pi´Â °³³äÀûÀÎ ¹è¿­·Î º¼ ¼ö ÀÖ´Ù.

¿Ö³ÄÇϸé pi++·Î 4¹ÙÀÌÆ® µÚÂÊÀ¸·Î À̵¿ÇÒ ¼ö ÀÖÀ¸¸ç pi[2]¶ó´Â Ç¥Çö½Äµµ Ç×»ó °¡´ÉÇϱ⠶§¹®ÀÌ´Ù. ¹°·Ð ÀÌ »óÅ¿¡¼­ pi°¡ Á¦´ë·Î µÈ ¹è¿­·Î µ¿ÀÛÇÏ·Á¸é i ´ÙÀ½ÀÇ ¿ä¼Òµµ Á¤¼öÇü º¯¼ö¿©¾ß ÇÑ´Ù´Â ³í¸®Àû Á¦¾àÀÌ ÀÖÁö¸¸ Àû¾îµµ ¹°¸®ÀûÀ¸·Î pi Æ÷ÀÎÅÍ´Â Á¤¼öÇü ¹è¿­À» °¡¸®Å°°í ÀÖ´Â °ÍÀÌ´Ù. ¼³»ç ±× ±æÀÌ°¡ 1¿¡ ºÒ°úÇÏ´õ¶óµµ ¸»ÀÌ´Ù.

º¸´Ù½ÃÇÇ Á¤¼öÇü ¹è¿­ ar°ú Á¤¼öÇü Æ÷ÀÎÅÍ pi´Â °øÅëÁ¡ÀÌ ¸¹´Ù. ÀÏ´Ü µ¿ÀÏ Å¸ÀÔÀÇ º¯¼ö ÁýÇÕÀ» ´Ù·ê ¼ö ÀÖ´Ù´Â ¸é¿¡¼­ ±â´ÉÀûÀ¸·Î °°°í µÑ ´Ù ¹üÀ§ Á¡°ËÀ» ÇÒ ¼ö ¾ø´Ù´Â Á¦¾àµµ µ¿ÀÏÇÏ´Ù. Çü½ÄÀûÀ¸·Î µÑ ´Ù ¹«ÇÑ ±æÀ̸¦ ´Ù·ê ¼ö ÀÖÁö¸¸ ¹è¿­Àº ¼±¾ðÇÒ ¶§ ÁöÁ¤ÇÑ Å©±â¸¸Å­, Æ÷ÀÎÅÍ´Â ÇÒ´çÇÒ ¶§ ÁöÁ¤ÇÑ Å©±â¸¸Å­ÀÇ ½ÇÁ¦ Å©±â¸¦ °¡Áö°í ÀÖÀ¸¹Ç·Î °³¹ßÀÚ°¡ ÀÌ Å©±â¸¦ ³ÑÁö ¾Êµµ·Ï ¾Ë¾Æ¼­ Á¶½ÉÇØ¾ß ÇÑ´Ù. ±×·¸´Ù¸é °ú¿¬ ¹è¿­°ú Æ÷ÀÎÅÍ´Â ¿ÏÀüÈ÷ °°´Ù°í ÇÒ ¼ö Àִ°¡ÇÏ¸é ±×·¸Áö´Â ¾Ê°í Â÷ÀÌÁ¡µµ ¸¹ÀÌ ÀÖ´Ù.

 

¨ç ¿ì¼± Æ÷ÀÎÅÍ´Â º¯¼öÀε¥ ºñÇØ ¹è¿­Àº »ó¼öÀÌ´Ù. pi´Â °íÀ¯ÀÇ ¸Þ¸ð¸®¸¦ Â÷ÁöÇÏ°í ÀÖ°í ¾ðÁ¦µçÁö ´Ù¸¥ ´ë»óÀ» °¡¸®Å³ ¼ö ÀÖÁö¸¸ arÀº ¼±¾ðÇÒ ¶§ ±× À§Ä¡°¡ ÀÌ¹Ì °íÁ¤µÇ¹Ç·Î ´Ù¸¥ ´ë»óÀ» °¡¸®Å³ ¼ö ¾ø´Ù. ar·Î´Â ¿À·ÎÁö ¹è¿­ÀÇ ¼±µÎ ¹øÁö¸¦ ÀÐÀ» ¼ö ÀÖÀ» »ÓÀ̸ç ÀÌ ¼±µÎ ¹øÁö¸¦ ±âÁØÀ¸·Î ÇÏ¿© ¹è¿­ ¿ä¼Ò¸¦ Àд´Ù.

¨è pi°¡ °¡¸®Å°´Â ¹è¿­ÀÇ Å©±â´Â µ¿ÀûÀ¸·Î °áÁ¤ÇÒ ¼ö ÀÖÁö¸¸ arÀÌ °¡¸®Å°´Â ¹è¿­ÀÇ Å©±â´Â ¼±¾ðÇÒ ¶§ Á¤ÀûÀ¸·Î °áÁ¤µÈ´Ù. °íÁ¤µÈ ±æÀÌÀÇ ¹è¿­ÀÌ ÇÊ¿äÇϸé int ar[n]; ¼±¾ð¹®À¸·Î ¹è¿­À» »ý¼ºÇÏ´Â °ÍÀÌ Æí¸®ÇÏ°í °¡º¯ ±æÀÌÀÇ ¹è¿­ÀÌ ÇÊ¿äÇϸé int *ÇüÀÇ Æ÷ÀÎÅÍ º¯¼ö¸¦ ¼±¾ðÇÑ ÈÄ mallocÀ¸·Î ÇÒ´çÇؼ­ »ç¿ëÇØ¾ß ÇÑ´Ù. Æ÷ÀÎÅÍ·Î ÇÒ´çÇÑ ¹è¿­Àº ½ÇÇàÁß¿¡¶óµµ reallocÀ¸·Î Å©±â¸¦ ÀçÇÒ´çÇÏ¿© º¯°æÇÒ ¼ö ÀÖ´Ù.

¨é ¹è¿­Àº ±× ÀÚü°¡ Å©±â ¶§¹®¿¡ ÇÔ¼öÀÇ Àμö·Î Àü´ÞÇÒ ¼ö ¾øÁö¸¸ Æ÷ÀÎÅÍ´Â ´ë»óü°¡ ¹«¾ùÀ̵簣¿¡ 4¹ÙÀÌÆ®ÀÇ Å©±â¹Û¿¡ Â÷ÁöÇÏÁö ¾ÊÀ¸¹Ç·Î ÇÔ¼ö·Î Àü´ÞÇÒ ¼ö ÀÖ´Ù. ±×·¡¼­ ¹è¿­À» ÇÔ¼ö·Î Àü´ÞÇÒ ¶§´Â ¹Ýµå½Ã Æ÷ÀÎÅ͸¦ »ç¿ëÇØ¾ß ÇÑ´Ù.

¨ê ¹è¿­·Î ¿ä¼Ò¸¦ Àд °Í°ú Æ÷ÀÎÅÍ·Î ´ë»óü¸¦ Àд µ¿ÀÛÀº ¼Óµµ Â÷ÀÌ°¡ ÀÖ´Ù. ¹è¿­ÀÇ Ã·ÀÚ ¿¬»êÀº ¸Å¹ø ¹è¿­ ¼±µÎ¿¡¼­ºÎÅÍ Ãâ¹ßÇÏÁö¸¸ Æ÷ÀÎÅÍ´Â ´ë»óü·Î Á÷Á¢ À̵¿Çؼ­ ¹Ù·Î ÀÐÀ¸¹Ç·Î ¾×¼¼½º ¼Óµµ°¡ ºü¸£´Ù. *pi´Â pi°¡ °¡¸®Å°´Â °÷À» ¹Ù·Î ÀÐÁö¸¸ ar[n]Àº *(ar+n)À¸·Î ÀÏ´Ü ¹øÁö¸¦ ´õÇÑ ÈÄ Àоî¾ß ÇϹǷΠÁ¶±Ý ´À¸®´Ù. ´ë´ÜÇÑ ¼Óµµ Â÷ÀÌ´Â ¾Æ´ÏÁö¸¸ ´ë±Ô¸ðÀÇ ¹Ýº¹ÀûÀÎ ·çÇÁ¿¡¼­´Â ÀÌ ¼ÓµµÂ÷µµ °áÄÚ ¹«½Ã ¸øÇÒ Á¤µµ·Î Å©´Ù. ´ë·« Æ÷ÀÎÅÍ°¡ ¹è¿­º¸´Ù µÎ ¹è Á¤µµ ºü¸£´Ù.

 

¹è¿­°ú Æ÷ÀÎÅÍÀÇ °ü°è¸¦ Á» ´õ °íÂûÇØ º¸±â À§ÇØ pi¸¦ ÇÑ´Ü°è ´õ È®ÀåÇØ º¸ÀÚ. ´ÙÀ½ ¼±¾ð¹®¿¡¼­ Å©±â 5´Â ÀÓÀÇÀÇ Á¤¼ö »ó¼ö·Î ÁÙ ¼ö ÀÖ´Ù.

 

int *api[5];

 

ÀÌ·¸°Ô ¼±¾ðµÈ api´Â Á¤¼öÇü Æ÷ÀÎÅÍ º¯¼ö 5°³¸¦ ¸ð¾Æ ³õÀº Æ÷ÀÎÅÍ ¹è¿­ÀÌ µÈ´Ù. ¹è¿­ÀÇ °¢ ¿ä¼ÒÀÎ api[0], api[1] µûÀ§´Â Á¤¼öÇü º¯¼ö ¶Ç´Â ÀÓÀÇ Å©±â·Î µ¿Àû ÇÒ´çµÈ Á¤¼öÇü ¹è¿­À» °¡¸®Å³ ¼ö Àִµ¥ ÀÌ ¹è¿­ÀÌ ¸Þ¸ð¸®¿¡ ÇÒ´çµÈ ¸ð½ÀÀ» ±×·Á º¸¸é ´ÙÀ½°ú °°´Ù.

 api ¹è¿­À» À§ÇØ ÇÒ´çµÇ´Â ¸Þ¸ð¸®´Â 20¹ÙÀÌÆ®¹Û¿¡ ¾ÈµÇÁö¸¸ °¢ ¿ä¼Ò´Â int *ÇüÀ̹ǷΠµ¿ÀûÀ¸·Î ÇÒ´çµÈ ¹øÁö¸¦ apiÀÇ °¢ ¿ä¼Ò¿¡ ´ëÀÔÇϸé api´Â Á¤¼öÇü ¹è¿­À» °¡¸®Å°´Â Æ÷ÀÎÅÍÀÇ ¹è¿­ÀÌ µÉ ¼ö ÀÖ´Ù. ±×·¸´Ù¸é ´ÙÀ½ ¼±¾ð¹®Àº ¾î¶»°Ô Çؼ®ÇÒ ¼ö ÀÖÀ»±î?

 

int **papi;

 

ÇüÅ»ó ÀÌÁß Æ÷ÀÎÅÍÀÌ´Ù. papiÀÇ ¿ä¼ÒÀÎ papi[n] Àº int * ŸÀÔÀ¸·Î¼­ Á¤¼öÇü ¹è¿­À» °¡¸®Å³ ¼ö ÀÖ´Â Æ÷ÀÎÅÍÀÌ´Ù. ÀÌ·± Æ÷ÀÎÅÍ º¯¼ö ¿©·¯ °³¸¦ ¸ðÀ¸¸é Æ÷ÀÎÅÍ ¹è¿­ÀÌ µÇ°í ±×·± ¹è¿­À» °¡¸®Å°´Â Æ÷ÀÎÅ͸¦ ¼±¾ðÇÏ¸é ¹Ù·Î papi°¡ µÈ´Ù. ±×·¡¼­ papi´Â Æ÷ÀÎÅÍ ¹è¿­ Æ÷ÀÎÅÍ°¡ µÇ¸ç À§ ±×¸²ÀÇ api°°Àº Æ÷ÀÎÅÍ ¹è¿­À» °¡¸®Å³ ¼ö ÀÖ´Ù. ÇÑ´Ü°è ´õ È®ÀåÇØ º¸ÀÚ.

 

int **apapi[3];

 

ÀÌ ¼±¾ð¹®Àº Æ÷ÀÎÅÍ ¹è¿­ Æ÷ÀÎÅÍ ¹è¿­À̸ç papi°°Àº º¯¼öµéÀÇ ÁýÇÕÀ» ´Ù·é´Ù. ¸»ÀÌ Á» ²¿ÀÌ´õ¶óµµ ½±°Ô Ç®¾î º¸ÀÚ¸é "Á¤¼öÇü º¯¼öÀÇ ÁýÇÕÀÎ ¹è¿­À» °¡¸®Å³ ¼ö ÀÖ´Â Æ÷ÀÎÅÍÀÇ ÁýÇÕÀÎ ¹è¿­À» °¡¸®Å°´Â Æ÷ÀÎÅÍÀÇ ÁýÇÕÀÎ ¹è¿­"ÀÌ´Ù. ¸»·Î Ç®¾ú´õ´Ï ´õ ¾î·Á¿öÁö´Â °Í °°Àºµ¥ Á» ´õ ½±°Ô ±×¸²À¸·Î ±×·Á º¸ÀÚ.

¹°·Ð apapi¸¦ °¡¸®Å°´Â Æ÷ÀÎÅ͸¦ ¶Ç ¸¸µé ¼ö ÀÖ°í ±×·± Æ÷ÀÎÅ͸¦ ¸ð¾Æ¼­ ¹è¿­·Î ¸¸µå´Â °Íµµ °¡´ÉÇÏ´Ù. Çö½ÇÀûÀ¸·Î ÀÌ Á¤µµ±îÁö Æ÷ÀÎÅÍ¿Í ¹è¿­À» ÁßøÇؼ­ ¾µ ÀÏÀº ¸¹Áö ¾Ê´Ù. ±×·¯³ª ÀÌ·± º¹ÀâÇÑ ¼öÁØÀÇ ¼±¾ð¹®±îÁö Çؼ®ÇÒ ¼ö ÀÖÀ» Á¤µµ·Î ¿¬½ÀÀ» ÇØ º¼ ÇÊ¿ä´Â ÀÖ´Ù. °¡Àå ½¬¿î ¼±¾ð¹®ÀÎ iºÎÅÍ ½ÃÀÛÇؼ­ pi, api, papi, apapi±îÁö ´Ü°èÀûÀ¸·Î È®ÀåÇØ º¸°í °¢°¢ÀÌ ¸Þ¸ð¸®¿¡ ¾î¶»°Ô »ý¼ºµÇ´ÂÁö ¿¬½ÀÀå¿¡ ±×·Á º¸ÀÚ. ÀÌ ±×¸²À» È¥ÀÚ¼­ ¿Ïº®ÇÏ°Ô ±×¸± ¼ö ÀÖ´Ù¸é Æ÷ÀÎÅ͸¦ ÀÌÇØÇß´Ù°í º¼ ¼ö ÀÖÀ¸¸ç ³²¿¡°Ô ¼³¸íÇÒ ¼ö ÀÖ´Ù¸é Æ÷ÀÎÅ͸¦ Á¤º¹Çß´Ù°í »ý°¢Çصµ ÁÁ´Ù.