http://www.hackerschool.org/HS_Boards/zboard.php?id=Free_Lectures&no=1740 [º¹»ç]
*----------------------------------------------------------------------------------------------------------*
ÀÌ Ä«Å×°í¸®´Â ±×µ¿¾È ¹è¿ü´ø°ÍÀ̶ó´ø°¡ °øºÎÇÏ¸é¼ ¾Ë°ÔµÈ ³»¿ëµéÀ» Áß½ÉÀ¸·Î Ȥ¿© Âü°í°¡ µÉ ¼ö ÀÖÀ»±î ½ÍÀº ³»¿ëµéÀ»
¸ð¾ÆµÐ °÷ÀÔ´Ï´Ù. µû¶ó¼ ÀÌ ±ÛµéÀ» ´ë»óÀÌ µÇ´Â ºÐµéÀº.. ÇÁ·Î±×·¡¹ÖÀ» °« ½ÃÀÛÇ߰ųª °³³äÀÌ ¸¶±¸¸¶±¸ Èçµé¸®½Ã´Â ºÐµé
Á¤µµ°¡ µÇ°Ú½À´Ï´Ù. ±×·¯´Ï ³Ê¹« ¿åÇÏÁö´Â ¸»¾ÆÁÖ¼¼¿ä =_=;;;
Ȥ½Ã Á¦°¡ À߸ø ¾Ë°í ÀÖ´Â ºÎºÐµéÀ̶ó´ø°¡ ±Ã±ÝÇÑ °ÍÀÌ ÀÖÀ¸¸é ÂÊÁö ³²°ÜÁֽðųª ¸®ÇÃÀ» ´Þ¾ÆÁÖ½Ã¸é °¨»çÇÏ°Ú½À´Ï´Ù.
*----------------------------------------------------------------------------------------------------------*
´Ù½Ã Æ÷ÀÎÅÍ º»¿¬ÀÇ ¹®Á¦·Î µ¹¾Æ°¡ÁÒ.
ÀÚ, Æ÷ÀÎÅÍ´Â '¾î¶°ÇÑ ÁÖ¼Ò°ªÀ» ÀúÀåÇÏ´Â º¯¼ö'¶ó°í ¸¹Àº »ç¶÷µéÀÌ À̾߱â Çß½À´Ï´Ù.
º¯¼ö´Â ÀÓÀÇÀÇ °ªÀ» ÀúÀåÇÏ°í ±×°ÍÀ» Á¶ÀÛÇϱâ À§Çؼ »ç¿ëµÈ´Ù°í ¿ì¸®´Â ¾Ë°í ÀÖ½À´Ï´Ù.
±× ¸»Àº ÁÖ¼Òµµ ±× °ªÀ» ÀúÀåÇÏ°í Á¶ÀÛÇÒ ¼ö ÀÖÀ»°Å¶õ ¾ê±â°¡ µÇ³×¿ä. ³× ±×·¸½À´Ï´Ù. ÁÖ¼Òµµ ¸¶À½´ë·Î Á¶ÀÛÀ» ÇÒ ¼ö ÀÖ½À´Ï´Ù. ³Ê¹« ¸¾´ë·Î ÇÒ ¼ö ÀÖ´Ù´Â°Ô ¿ÀÈ÷·Á ¹®Á¦¶ó¸é ¹®Á©±î¿ä?
ÀÏ¹Ý º¯¼öµéÀº ¾Æ¹«¸® ±× µ¥ÀÌÅ͸¦ ÁöÁö°í ºº°í ³¸®¸¦ Ãĵµ ±× ÇÒ´çµÈ ¹üÀ§¸¦ ¹þ¾î³ªÁö ¾Ê±â¶§¹®¿¡ º° ¹®Á¦°¡ µÇÁö ¾Ê½À´Ï´Ù. ÇÏÁö¸¸ Æ÷ÀÎÅÍ º¯¼ö°¡ °¡Áø µ¥ÀÌÅÍ´Â ÀÌ·± ¹üÀ§¸¦ Á¦ ¸Ú´ë·Î µå³ªµé ¼ö ÀÖ½À´Ï´Ù. ±×°Ô...¹®Á¦ÀΰÅÁÒ.
±×·³ µµ´ëü ÀÌ Æ÷ÀÎÅÍ º¯¼ö¶ó´Â ³à¼®ÀÌ ÇÏ´Â ¿ªÇÒÀÌ ¹ºÁö ¾Ë¾Æº¸µµ·Ï ÇսôÙ.
¾Õ¼ ¸Þ¸ð¸®´Â »ç¹°ÇÔ°ú °°´Ù°í Çß½À´Ï´Ù. ±×¸®°í º¯¼ö´Â ±× »ç¹°ÇÔÀ» ÇÒ´ç¹Þ´Â °ÍÀ̶ó°í Çß±¸¿ä. µû¶ó¼ »ç¹°ÇÔÀ» ÇÒ´ç ¹Þ¾Ò´Ù´Â °ÍÀº ±× °íÀ¯ÀÇ »ç¹°ÇÔ¹øÈ£¸¦ ºÎ¿©¹Þ¾Ò´Ù´Â °ÍÀÌ°í, ¿©±â¿¡ ÀÚ½ÅÀÌ ½Äº°Çϱ⠽¬¿î À̸§À» ´Þ ¼ö ÀÖ½À´Ï´Ù.
¿¹¸¦µé¾î 0~99¹ø±îÁö ÀÖ´Â ºó »ç¹°ÇÔ¿¡¼ 10¹øÀ̶ó´Â »ç¹°ÇÔÀ» °³Àο뵵·Î ºÎ¿©¹Þ¾Ò´Ù¸é ¿©±â¿¡ Àڱ⠸¶À½´ë·Î À̸§À» ºÙÀϼöµµ ÀÖ°ÚÁö¿ä. ¿¹¸¦ µé¾î 'ö¼ö²¨'¶ó°í..
±×·¯¸é ³ªÁß¿¡ 'ö¼ö²¨' »ç¹°ÇÔ¿¡ µç ¹°°ÇÀ» ²¨³»¶ó¶ó°í Çϸé ö¼ö²¨¶ó´Â À̸§À» °¡Áø »ç¹°ÇÔÀ» ã¾Æ¼ ±×°÷¿¡ µç ³»¿ë¹°À» ²¨³»¸é µÇ°ÚÁö¿ä. À̶§ÀÇ ÀÌ 'ö¼ö²¨'¶ó´Â À̸§Àº »ç¹°ÇÔÀ» °ü¸®ÇÏ´Â »ç¶÷¿¡°Ô ÀÖ¾î¼ 10À̶ó´Â ¼ýÀÚ¿Í ¶È°°´Ù°í Àνĵɼöµµ ÀÖ½À´Ï´Ù.
(Âü°í·Î º¯¼ö¸íÀº ÄÚµù½ÃÀÇ ÆíÀǸ¦ À§ÇÑ ¼ö´Ü ÀÏ »Ó ÄÄÇ»ÅÍ´Â À̸¦ ÀνÄÇÏÁö ¸øÇÕ´Ï´Ù. ÄÄÆÄÀÏ °úÁ¤¿¡¼ ¸ðµç º¯¼ö¸íÀº ³»ºÎÀûÀ¸·Î´Â ÀÏ·ÃÀÇ ¼ýÀÚÁּҷΠġȯµË´Ï´Ù.)
ÀÚ, ¿ì¸®´Â »ç¹°ÇÔ ¹øÈ£°¡ »ç¹°ÇÔÀÇ ÁÖ¼ÒÀÌ°í, ÀÌ°ÍÀÌ º¯¼öÀÇ ÁÖ¼Ò¿Í µ¿ÀÏÇÑ ¿ªÇÒÀ» ÇÑ´Ù°í ÀÌÇØ Çß½À´Ï´Ù.
ÀÌÁ¦ ¸¸¾à 3¹ø »ç¹°ÇÔÀ» ÇÒ´ç ¹ÞÀ» ¶§ ´Ù¸¥ »ç¹°ÇÔÀÇ ¹øÈ£¸¦ Àû¾îµÎ´Â ¿ëµµ·Î ÇÒ´çÀ» ¹Þ¾Ò´Ù°í ÇÑ´Ù¸é ÀÌ°ÍÀÌ ¹Ù·Î Æ÷ÀÎÅÍÀÇ ¿ªÇÒÀ» ÇÏ´Â °Í ÀÔ´Ï´Ù. ÀÌ »ç¹°ÇÔÀº ±×Àú »ç¹°ÇÔ ¹øÈ£¸¦ Àд °Í¸¸À¸·Î´Â Àǹ̰¡ ¾øÁö¿ä. ÀÌ ¹øÈ£°¡ °¡¸®Å°´Â °÷À» ¿¾î¾ß¸¸ Àǹ̰¡ ÀÖ½À´Ï´Ù.
ÀÌ 3¹ø »ç¹°ÇÔ¿¡ 10¹ø »ç¹°ÇÔ ¹øÈ£¸¦ Àû¾îµÎ¾ú´Ù°í »ý°¢ÇØ º¾½Ã´Ù. ±×·¯¸é ³ª´Â 3¹ø »ç¹°ÇÔÀ» ¿¾î ±× ¾È¿¡ ÀûÇô ÀÖ´Â '10'À̶ó´Â ¼ýÀÚ¸¦ º¸°í 10¹ø »ç¹°ÇÔÀ» ¿¾î¾ß ÇÑ´Ù´Â °ÍÀ» ¾Ë ¼ö ÀÖ½À´Ï´Ù. ±×Á¦¼¾ß ºñ·Î¼Ò 10¹ø »ç¹°ÇÔÀÇ ¹°°ÇÀ» ³Ö°í »©°í ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ °úÁ¤À» 'ÂüÁ¶'¶ó°í ÇÕ´Ï´Ù. ±×¸®°í ÀÌ 'ÂüÁ¶'ÀÇ ¿ªÇÒÀ» ÇÏ´Â °ÍÀÌ ¹Ù·Î Æ÷ÀÎÅÍ ¿¬»êÀÚ '*'ÀÔ´Ï´Ù.
¿ä ¾ÕÀÇ ½ºÅ͵𿡼 Á¦°¡ ¼±¾ðÇü½ÄÀ» ¾ð±ÞÇÒ ¶§ [char *pChar;]Çü½Äº¸´Ù´Â [char* pChar;]Çü½ÄÀ» ÃßõÇÑ´Ù°í ¸»¾¸µå¸° ¹Ù ÀÖ½À´Ï´Ù. À̶§ [*pChar]¿¡¼ º¯¼ö¸í ¾ÕÀÇ '*'¿¬»êÀÚÀÇ Àǹ̴ 'Æ÷ÀÎÅÍ º¯¼ö ÇÒ´ç'À̶ó´Â Àǹ̸¦ °®°ÔµÇ°í ½ÇÁ¦ »ç¿ë¿¡¼´Â 'Æ÷ÀÎÅÍ º¯¼ö ÁÖ¼Ò ÂüÁ¶'¶ó´Â Àǹ̸¦ °®°Ô µÇ¾î ÀǹÌÀÇ È¥µ¿À» Áֱ⿡ ÃæºÐÇÕ´Ï´Ù. ±×·¯³ª ¸¸¾à ÈÄÀÚó·³ µ¥ÀÌÅÍ Å¸ÀÔ ÀÚü°¡ char* ·Î 'Æ÷ÀÎÅͺ¯¼öÇü' À̶ó´Â Àǹ̸¦ °®°Ô µÇ¸é ½ÇÁ¦ »ç¿ëºÎºÐ¿¡ ÀÖ¾î¼ º¯¼ö¸í°ú °áÇÕµÈ '*'¿¬»êÀÚÀÇ È¥µ¿À» ±×¸¸Å ÁÙÀÏ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ¿Ü¿¡µµ ÇÔ¼ö ¿øÇü¼±¾ð½Ã³ª °Á¦ Çüº¯È¯µîÀ» ÇؾßÇÒ¶§ (char*), (int*), (double*) ÇüÅ·Π»ç¿ëµÇ±â ¶§¹®¿¡ ÀÌ·¸°Ô ÀÍÇôµÎ½Ã´Â °ÍÀÌ ÈξÀ µµ¿òÀÌ µË´Ï´Ù.
Æ÷ÀÎÅÍ º¯¼ö´Â [*º¯¼ö¸í] À̶ó´Â Äڵ带 ÅëÇØ ÂüÁ¶µÇ´Â °ª¿¡ Á¢±Ù ÇÒ ¼öÀÖ½À´Ï´Ù.
ÀÌ°Ô ¹«½¼ ¸»À̳Ä... ´ÙÀ½ ¼³¸íÀ» º¸½ÃÁÒ.
3¹ø »ç¹°ÇÔ¿¡ 10¹øÀ̶ó´Â »ç¹°ÇÔ ¹øÈ£¸¦ Àû¾îµÎ¾ú´Ù°í Çß½À´Ï´Ù. ±×·¸´Ù¸é 3¹ø »ç¹°ÇÔÀÇ ³»¿ë¹°Àº ¹«¾ùÀԴϱî? ´Ü¼øÈ÷ '10'À̶ó´Â ¼ýÀÚ¸¸ÀÌ ÀûÇô ÀÖ½À´Ï´Ù.
µû¶ó¼,
temp = 3¹ø»ç¹°ÇÔ;
À̶ó´Â ½ÄÀ» »ç¿ëÇÏ°Ô µÈ´Ù¸é temp ¶ó´Â º¯¼ö°¡ °®´Â ³»¿ëÀº '10'À̶ó´Â ¼ýÀÚÀÔ´Ï´Ù. ¿ì¸®°¡ ¿øÇÏ´Â 10¹ø »ç¹°ÇÔÀÇ ³»¿ë¹°ÀÌ ¾Æ´ÏÁö¿ä.
¾Æ·¡ ¿¹Á¦¸¦ º¸½ÃÁÒ
*-------------------------------------------------------------------------------*
int tmp1,tmp2;
int* pt;
tmp1 = 77; // tmp1º¯¼ö¿¡ ¾Æ¹«°ªÀ̳ª ´ëÀÔÇÑ´Ù.
pt = &tmp1 // Æ÷ÀÎÅͺ¯¼ö pt¿¡ tmp1 º¯¼öÀÇ ÁÖ¼Ò¸¦ ÀúÀåÇÑ´Ù.
tmp2 = (int)pt; // tmp2º¯¼ö¿¡ pt¿¡ ÀúÀå µÈ °ªÀ» ÀúÀåÇÑ´Ù.(µ¿ÀÏÇÑ µ¥ÀÌÅÍ Å¸ÀÔÀÌ
// ¾Æ´Ï±â ¶§¹®¿¡ ¿¡·¯¸¦ ¹æÁöÇϱâ À§ÇØ °Á¦ Çüº¯È¯À» ½ÃÄ×´Ù)
printf( "tmp1ÀÇ ÁÖ¼Ò : %d\n", &tmp1 );
printf( "tmp1ÀÇ °ª : %d\n", tmp1 );
printf( "\n" );
printf( "ptÀÇ ÁÖ¼Ò : %d\n", &pt );
printf( "ptÀÇ °ª : %d\n", pt );
printf( "ptÀÇ ÂüÁ¶°ª : %d\n", *pt );
printf( "\n" );
printf( "tmp2ÀÇ ÁÖ¼Ò : %d\n", &tmp2 );
printf( "tmp2ÀÇ °ª : %d\n", tmp2 );
printf( "tmp2ÀÇ ÂüÁ¶°ª : %d\n", *(int*)tmp2 ); // ÀÌ·±½ÄÀ¸·Îµµ ¾µ ¼ö ÀÖ´Ù
*-------------------------------------------------------------------------------*
°á°ú
tmp1ÀÇ ÁÖ¼Ò : 1245052 (Á¦ PC¿¡¼ÀÇ °á°úÀÔ´Ï´Ù. ½ÇÇà½Ã¸¶´Ù ´Þ¶óÁü)
tmp1ÀÇ °ª : 77
ptÀÇ ÁÖ¼Ò : 1245044
ptÀÇ °ª : 1245052
ptÀÇ ÂüÁ¶°ª : 77
tmp2ÀÇ ÁÖ¼Ò : 1245048
tmp2ÀÇ °ª : 1245052
tmp2ÀÇ ÂüÁ¶°ª : 77
*-------------------------------------------------------------------------------*
¸ÕÀú tmp1ÀÇ ÁÖ¼Ò¸¦ ÁÖ¸ñÇØ Áֽñ¸¿ä, ptÀÇ °ªÀ» ÁÖ¸ñÇØ ÁֽʽÿÀ. Æ÷ÀÎÅÍ º¯¼ö°¡ °®´Â °ªÀº ¾îµð±îÁö³ª 'ÁÖ¼Ò¶ó´Â Á¤¼ö'ÀÏ »ÓÀÔ´Ï´Ù. Áï, ¾îµð±îÁö³ª º¯¼ö¿¡ Áö³ªÁö ¾Ê½À´Ï´Ù. ´Ù¸¸ ÇüÀÌ ´Ù¸¦ »ÓÀÌÁö. ±×¸®°í '*'¶ó´Â ¿¬»êÀÚ°¡ ÇÏ´Â ¿ªÇÒÀº Æ÷ÀÎÅͺ¯¼ö¿¡¸¸ ±¹ÇѵǴ °ÍÀÌ ¾Æ´Ï¶ó ¸Ç ¸¶Áö¸· ÁÙ, Áï, tmp2ÀÇ ÂüÁ¶°ªÀ̶ó°í ÀûÇô ÀÖ´Â °÷¿¡¼Ã³·³ Á¤¼ö¸¦ ÁÖ¼Ò·Î »ç¿ëÇÒ ¼öµµ ÀÖ´Ù´Â °Í ÀÔ´Ï´Ù.(¹°·Ð Çü º¯È¯ÀÌ ÇÊ¿äÇÕ´Ï´Ù. ¸¶Âù°¡Áö·Î ÇüÀÌ ´Ù¸£±â ¶§¹®¿¡)
ÀÚ, ±×·³ ¹¹°¡ ±×¸® »ç¶÷ ¼ÓÀ» ½âÀÌ´À³Ä? À§ÀÇ ¼Ò½ºÄڵ忡¼ tmp2ÀÇ ÂüÁ¶°ªÀ̶ó´Â ³»¿ëÀ» ÅëÇØ Á¤¼ö¸¦ Æ÷ÀÎÅÍ º¯¼öó·³ »ç¿ë ÇÒ ¼ö ÀÖ´Ù´Â °ÍÀ» ¾Ë¾ÒÁÒ? ¹®Á¦´Â ÀÌ Æ÷ÀÎÅͺ¯¼ö°¡.. Çã¿ëµÇÁö ¾ÊÀº ¸Þ¸ð¸® ÁÖ¼Ò¸¦ ÂüÁ¶ÇßÀ» ¶§ ÀϾ´Ï´Ù.
Áï, ¿ì¸®°¡ ÇÒ´ç¹ÞÀº ¸Þ¸ð¸® ÁÖ¼Ò´Â 0~16±îÁöÀε¥ 100¹øÁöÀÇ ¸Þ¸ð¸®¸¦ ÂüÁ¶ÇÏ·Á°í ÇÏ¸é ¾î¶»°Ô µÉ±î¿ä? ¿ì¸®°¡ ¿øÇÏ´Â °ªÀÌ ³ª¿ÀÁöµµ ¾ÊÀ» »Ó´õ·¯ ÄÄÆÄÀÏ·¯´Â 'Çã¿ëµÇÁö ¾ÊÀº ¸Þ¸ð¸®¸¦ ÂüÁ¶ÇÏ·Á°í ÇÕ´Ï´Ù'¶ó¸ç ¿¡·¯¸¦ ¶ç¿ó´Ï´Ù.
µû¶ó¼, Æ÷ÀÎÅÍ º¯¼ö¸¦ »ç¿ëÇÒ¶§ÀÇ ÁÖÀÇ»çÇ×Àº.. ¹Ýµå½Ã ÇÒ´ç¹ÞÀº ÁÖ¼Ò¸¦ »ç¿ë ÇÒ ¼ö ÀÖµµ·Ï 'ÇÒ´ç µÈ º¯¼öÀÇ ÁÖ¼Ò¸¸ »ç¿ëÇؾßÇÑ´Ù'¶ó´Â °Í ÀÔ´Ï´Ù.
´ÙÀ½¿¡´Â Æ÷ÀÎÅÍÀÇ »ç¿ë»óÀÇ Æ¯Â¡°ú ¿Ö ¿©·¯°¡ÁöÀÇ Æ÷ÀÎÅÍ ÇüÀ» °®À»±î..¿¡ ´ëÇØ ¾Ë¾Æº¸°Ú½À´Ï´Ù.
±ä ±Û ÀÐÀ¸½Ã´À¶ó ¼ö°í ¸¹À¸¼Ì½À´Ï´Ù.
|
Hit : 6114 Date : 2011/05/01 11:27
|