http://www.hackerschool.org/HS_Boards/zboard.php?id=Free_Lectures&no=1743 [º¹»ç]
*----------------------------------------------------------------------------------------------------------*
ÀÌ Ä«Å×°í¸®´Â ±×µ¿¾È ¹è¿ü´ø°ÍÀ̶ó´ø°¡ °øºÎÇÏ¸é¼ ¾Ë°ÔµÈ ³»¿ëµéÀ» Áß½ÉÀ¸·Î Ȥ¿© Âü°í°¡ µÉ ¼ö ÀÖÀ»±î ½ÍÀº ³»¿ëµéÀ»
¸ð¾ÆµÐ °÷ÀÔ´Ï´Ù. µû¶ó¼ ÀÌ ±ÛµéÀ» ´ë»óÀÌ µÇ´Â ºÐµéÀº.. ÇÁ·Î±×·¡¹ÖÀ» °« ½ÃÀÛÇ߰ųª °³³äÀÌ ¸¶±¸¸¶±¸ Èçµé¸®½Ã´Â ºÐµé
Á¤µµ°¡ µÇ°Ú½À´Ï´Ù. ±×·¯´Ï ³Ê¹« ¿åÇÏÁö´Â ¸»¾ÆÁÖ¼¼¿ä =_=;;;
Ȥ½Ã Á¦°¡ À߸ø ¾Ë°í ÀÖ´Â ºÎºÐµéÀ̶ó´ø°¡ ±Ã±ÝÇÑ °ÍÀÌ ÀÖÀ¸¸é ÂÊÁö ³²°ÜÁֽðųª ¸®ÇÃÀ» ´Þ¾ÆÁÖ½Ã¸é °¨»çÇÏ°Ú½À´Ï´Ù.
*----------------------------------------------------------------------------------------------------------*
¿À·£¸¸¿¡ ½ºÅ͵ð Àç°³ÇÕ´Ï´Ù =_=;
Áö³ ½ºÅ͵ð±îÁö´Â º¯¼ö¿Í Æ÷ÀÎÅÍ¿¡´ëÇØ °³·«ÀûÀ¸·Î °øºÎÇß¾úÁÒ?
À̹ø¿£ ¹è¿¿¡ ´ëÇØ ¾Ë¾Æº¸°í, ¹è¿ÀÌ Æ÷ÀÎÅÍ¿Í ¹«½¼ °ü°è°¡ ÀÖ´ÂÁö ¾Ë¾Æº¸µµ·Ï ÇÏÁÒ.
ÀÚ~, ÇÁ·Î±×·¥À» ÀÛ¼ºÇÏ´Ùº¸¸é ¿ì¸®´Â ¹«¼öÈ÷ ¸¹Àº º¯¼öµéÀ» ¸¸³ª°Ô µË´Ï´Ù.
±×¸®°í, ÇÊ¿ä¿¡ µû¶ó¼ °¢Á¾ À̸§µéÀ» ºÙ¿©¼ »ç¿ëÇÏ°Ô µÇÁö¿ä.
Á¤¼öÇü º¯¼ö 100°³°¡ ÇÊ¿äÇÑ ¾î¶² ÇÁ·Î±×·¥ÀÌ ÀÖ´Ù°í Çغ¾½Ã´Ù.
int num1, num2, num3, num4, num5, num6, num7, num8, ... , num99, num100;
num1 = 0;
num2 = 0;
num3 = 0;
num4 = 0;
...
num99 = 0;
num100 = 0;
ÀÌ°Ô ¹ºÁþÀԴϱî?
Á¤¼öº¯¼ö 100°³°¡ ÇÊ¿äÇÏ´Ù°íÇؼ ÀÌ·¸°Ô »ç¿ëÇÒ »ý°¢À» Çϸé.. ¾ÆÂñÇÏÁö ¾Ê³ª¿ä?
¸¸¾à ¹è¿À̶ó´Â ³à¼®ÀÌ ¾ø¾ú´Ù¸é ¾Æ¸¶ ´ëºÎºÐ ÇÁ·Î±×·¡¸ÓµéÀº ÀÌ·¸°Ô ÇÁ·Î±×·¥À» Â¥°í ÀÖ¾úÀ»°Ì´Ï´Ù.(¹°·Ð °í±Þ À¯Àú¶ó¸é ´Ù¸¥ ¹æ¹ýÀ» ¸¸µé¾î³ÂÀ»Áöµµ ¤»..)
¿ì¸®´Â ¹è¿À̶ó´Â ³à¼®À» »ç¿ëÇØ
int num[100];
for( int i=0; i<100; i++ )
num[i] = 0;
(¶Ç´Â int num[100] = {{0}}; À¸·Î ÃÊ°£´Ü »ç¿ë °¡´É +_+ )
ÀÌ·¸°Ô °£´ÜÇÏ°Ô »ç¿ë ÇÒ ¼ö ÀְԵǾú½À´Ï´Ù.
¹è¿ Âü °£ÆíÇÏÁÒ? ±×¸®°í ¿ì¸®´Â ¹è¿À» »ç¿ëÇؼ ¾öû³ª°Ô ¸¹Àº º¯¼ö¶óµµ ½±°Ô Á¢±ÙÇÏ°í »ç¿ëÇÒ ¼ö ÀÖ°Ô µÇ¾ú½À´Ï´Ù.
¹è¿ÀÇ ¼±¾ðÀ̳ª »ç¿ë¹ý¿¡ °üÇؼ´Â ½¬¿ì´Ï ¾Æ½Ç°ÍÀ̶ó »ý°¢ÇÏ°í ³Ñ¾î°¡µµ·Ï ÇÏ°Ú½À´Ï´Ù.
Á¦°¡ °ü½ÉÀ» °¡Áö°íÀÚ ÇÏ´Â ºÎºÐÀº ¹è¿°ú Æ÷ÀÎÅÍ¿ÍÀÇ ¿¬°ü °ü°èÀÔ´Ï´Ù.
¿ì¸®´Â ´Ã»ó ¹è¿ÀÇ À̸§ÀÎ num[](À§ÀÇ ÄÚµåÀÇ °æ¿ì)ÀÌ º¯¼öÀÇ À̸§ÀΰÍÀ¸·Î ¾Ë°í ÀÖ¾ú½À´Ï´Ù. ±×¸®°í num[32], num[79] ÀÌ·±½ÄÀ¸·Î º¯¼ö¸¦ ÀоîµéÀ̰ųª ÀúÀåÇϴµ¥ »ç¿ëÇÏ¿´ÁÒ.
¾îÂ¸é ¸Â´Â ¸»ÀÌÁö¸¸ Á¤È®ÇÏ°Ô µûÁö¸é ¹è¿ÀÇ º¯¼ö¸íÀº ÀϹݺ¯¼ö°¡ ¾Æ´Ñ Æ÷ÀÎÅͺ¯¼ö ÀÔ´Ï´Ù. ±×¸®°í []¾ÈÀÇ ¼ýÀÚ´Â Æ÷ÀÎÅͷκÎÅÍÀÇ À妽º¹øÈ£¶ó°í ÇÕ´Ï´Ù.
¿©·¯ºÐµé Áß¿¡´Â ¹è¿À» óÀ½ ¹è¿ï¶§ ¿Ö ÇÏÇÊ À妽º ¹øÈ£´Â 1,2,3,... ¼øÀ¸·Î ¾²ÀÌÁú ¾Ê°í 0,1,2,... ½ÄÀ¸·Î ¾²ÀÌ´À³Ä¶ó°í ºÒÆòÇϽŠºÐµéÀÌ °è½Ç°Ì´Ï´Ù. ±×³É Á÷°üÀûÀ¸·Î ù¹øÀç º¯¼ö¸é val[1], µÎ¹ø° º¯¼ö¸é val[2] µîÀ¸·Î ¾²¸é µÇÁö ±¸Áö ù¹ø°¸¦ val[0], µÎ¹ø°´Â val[1] µîÀ¸·Î Çϳª¾¿ Â÷ÀÌ°¡ ³ª°Ô ¾²´ÂÁö¿¡ ´ëÇؼ ¸»ÀÌÁö¿ä.
ºÐ¸í º¸±â¿¡ µû¶ó¼´Â ±×³É ¾²´Â°ÍÀÌ ³ªÀ» ¼öµµ ÀÖ½À´Ï´Ù. ÇÏÁö¸¸ ¹è¿º¯¼öÀÇ º¯¼ö¸íÀÌ Æ÷ÀÎÅͺ¯¼ö¶ó´Â °ÍÀ» ÀÌÇØÇÏ°Ô µÇ¸é ¿Ö À妽º ¹øÈ£ÀÇ ½ÃÀÛ¹øÈ£°¡ 1ÀÌ ¾Æ´Ñ 0ÀÎÁö¸¦ ÀÌÇØ ÇÒ ¼ö ÀÖ½À´Ï´Ù.
¹è¿ º¯¼ö°¡ ¼±¾ðµÇ´Â ¸ð¾çÀ» ÀÌÇØÇϱâ À§ÇØ ´Ù½Ã ¸Þ¸ð¸® ºí·° ±×¸²À» º¸µµ·Ï ÇÏÁö¿ä.
(¡à ÇÑÄÀº 1Byte, ÃʱâȵÇÁö ¾ÊÀº »óÅ·Π¹«½¼ °ªÀÌ µé¾î°¡ ÀÖ´ÂÁö´Â ¾Ë¼ö ¾øÀ½)
0 1 2 3 4 5 6 7 8 9 a b c d e f 0 1 2 3 4 5 6 7 8 9 a b c d e f
0x0- ¡à¡à¡à¡à ¡à¡à¡à¡à ¡à¡à¡à¡à ¡à¡à¡à¡à ¡à¡à¡à¡à ¡à¡à¡à¡à ¡à¡à¡à¡à ¡à¡à¡à¡à
0x2- ¡à¡à¡à¡à ¡à¡à¡à¡à ¡à¡à¡à¡à ¡à¡à¡à¡à ¡à¡à¡à¡à ¡à¡à¡à¡à ¡à¡à¡à¡à ¡à¡à¡à¡à
0x4- ¡à¡à¡à¡à ¡à¡à¡à¡à ¡à¡à¡à¡à ¡à¡à¡à¡à ¡à¡à¡à¡à ¡à¡à¡à¡à ¡à¡à¡à¡à ¡à¡à¡à¡à
0x6- ¡à¡à¡à¡à ¡à¡à¡à¡à ¡à¡à¡à¡à ¡à¡à¡à¡à ¡à¡à¡à¡à ¡à¡à¡à¡à ¡à¡à¡à¡à ¡à¡à¡à¡à
¿©±â¿¡ 6°³ÀÇ ±æÀ̸¦ °®´Â Á¤¼öÇü º¯¼ö¹è¿À» ¼±¾ðÇØ º¾½Ã´Ù.
int num[6];
¾Æ·¡¿Í °°Àº ¸Þ¸ð¸® ºí·°ÀÌ ÇÒ´çµÉ °ÍÀÔ´Ï´Ù.
0 1 2 3 4 5 6 7 8 9 a b c d e f 0 1 2 3 4 5 6 7 8 9 a b c d e f
0x0- ¡á¡á¡á¡á ¡á¡á¡á¡á ¡á¡á¡á¡á ¡á¡á¡á¡á ¡á¡á¡á¡á ¡á¡á¡á¡á ¡à¡à¡à¡à ¡à¡à¡à¡à
0x2- ¡à¡à¡à¡à ¡à¡à¡à¡à ¡à¡à¡à¡à ¡à¡à¡à¡à ¡à¡à¡à¡à ¡à¡à¡à¡à ¡à¡à¡à¡à ¡à¡à¡à¡à
0x4- ¡à¡à¡à¡à ¡à¡à¡à¡à ¡à¡à¡à¡à ¡à¡à¡à¡à ¡à¡à¡à¡à ¡à¡à¡à¡à ¡à¡à¡à¡à ¡à¡à¡à¡à
0x6- ¡à¡à¡à¡à ¡à¡à¡à¡à ¡à¡à¡à¡à ¡à¡à¡à¡à ¡à¡à¡à¡à ¡à¡à¡à¡à ¡à¡à¡à¡à ¡à¡à¡à¡à
°¢ º¯¼öÀÇ ÁÖ¼Ò
num[0]:0x00 num[1]:0x04 num[2]:0x08 num[3]:0x0c num[4]:0x10 num[5]:0x14
¶Ç charÇü º¯¼ö 10°³¸¦ ¼±¾ðÇØ º¸ÁÒ.
char ch[10];
0 1 2 3 4 5 6 7 8 9 a b c d e f 0 1 2 3 4 5 6 7 8 9 a b c d e f
0x0- ¡á¡á¡á¡á ¡á¡á¡á¡á ¡á¡á¡á¡á ¡á¡á¡á¡á ¡á¡á¡á¡á ¡á¡á¡á¡á ¡á¡á¡á¡á ¡á¡á¡á¡á
0x2- ¡á¡á¡à¡à ¡à¡à¡à¡à ¡à¡à¡à¡à ¡à¡à¡à¡à ¡à¡à¡à¡à ¡à¡à¡à¡à ¡à¡à¡à¡à ¡à¡à¡à¡à
0x4- ¡à¡à¡à¡à ¡à¡à¡à¡à ¡à¡à¡à¡à ¡à¡à¡à¡à ¡à¡à¡à¡à ¡à¡à¡à¡à ¡à¡à¡à¡à ¡à¡à¡à¡à
0x6- ¡à¡à¡à¡à ¡à¡à¡à¡à ¡à¡à¡à¡à ¡à¡à¡à¡à ¡à¡à¡à¡à ¡à¡à¡à¡à ¡à¡à¡à¡à ¡à¡à¡à¡à
°¢ º¯¼öÀÇ ÁÖ¼Ò
ch[0]:0x18 ch[1]:0x19 ch[2]:0x1a ch[3]:0x1b ch[4]:0x1c
ch[5]:0x1d ch[6]:0x1e ch[7]:0x1f ch[8]:0x20 ch[9]:0x21
Àú´Â À§¿¡¼ ¹è¿º¯¼öÀÇ º¯¼ö¸íÀº ÀϹݺ¯¼ö°¡ ¾Æ´Ñ Æ÷ÀÎÅÍ º¯¼ö¶ó°í ÇÏ¿´½À´Ï´Ù.
Æ÷ÀÎÅÍ º¯¼ö¶ó¸é ÁÖ¼Ò¸¦ °¡Áö°í ÀÖ°ÚÁö¿ä? ±×·¸´Ù¸é numÀ̶ó´Â Æ÷ÀÎÅÍ º¯¼ö´Â ÁÖ¼Ò¸¦ °¡Áö°í ÀÖÀ»°ÍÀÔ´Ï´Ù. ±×°ÍÀÌ ¹Ù·Î Àú ¹è¿ÀÇ ´ëÇ¥ÁÖ¼ÒÀÎ 0x00À» °¡Áö°í ÀÖ´Ù´Â °ÍÀÔ´Ï´Ù.
±×·¸´Ù¸é µÚ¿¡ ºÙ¾îÀÖ´Â À妽º¹øÈ£ÀÇ Àǹ̴ ¹«¾ùÀϱî¿ä?
Æ÷ÀÎÅͺ¯¼ö´Â ±× ÁÖ¼Ò°¡ °¡¸®Å°´Â º¯¼öÀÇ Å¸ÀÔÀ» ¾Ë°í ÀÖ´Ù°í Çß½À´Ï´Ù. Áï, Æ÷ÀÎÅÍ º¯¼ö°¡ »ç¿ëµÇ¾îÁú ¶§ ÄÄÇ»ÅÍ´Â ±× º¯¼öÀÇ Å©±â¸¦ ¾Ë°í ÀÖ´Ù´Â ¾ê±âÀε¥ Æ÷ÀÎÅͺ¯¼ö´Â µ¶Æ¯ÇÑ Æ¯Â¡À» °¡Áö°í »ç¿ëµË´Ï´Ù.
ÀÏ¹Ý Á¤¼öÇüº¯¼ö³ª ½Ç¼öÇü º¯¼öµîÀº º¯¼ö¿¡ +1À» ÇϰԵǸé ÇØ´ç °ª¿¡ +1 µÈ °ªÀÌ ÀúÀåµË´Ï´Ù.
Áï, 100À» ÀÔ·ÂÇÏ°í +1À» Çϸé 101ÀÌ, 13.2¸¦ ÀÔ·ÂÇÏ°í +1À» Çϸé 14.2°¡ ÀúÀåµÇ´Â °ÍÀÌÁö¿ä.
¸¶Âù°¡Áö·Î +2¸¦ ÇÏ´ø -100À» ÇÏ´ø.. °á°ú´Â ÈçÈ÷ ¸»ÇÏ´Â °è»ê½ÄÀÇ °á°ú¸¦ ¾ò°Ô µË´Ï´Ù.
ÇÏÁö¸¸ ÀÌ ¹è¿, Áï, Æ÷ÀÎÅÍÀÇ ¿¬»ê°úÁ¤Àº ¿ì¸®ÀÇ ¿¹»ó°ú´Â ´Ù¼Ò ´Ù¸¥ Á¡ÀÌ ÀÖ½À´Ï´Ù.
¸¸¾à num[2]ÀÇ ÁÖ¼ÒÀÎ 0x08¿¡ +1À» ÇßÀ»¶§¿Í ch[1]ÀÇ ÁÖ¼ÒÀÎ 0x19¿¡ +1À» ÇßÀ»¶§ °ú¿¬ ¾î¶² Â÷ÀÌ°¡ ³ªÅ¸³¯ ±î¿ä?
¾Æ·¡ Äڵ带 Á÷Á¢ ÄÄÆÄÀÏ Çؼ È®ÀÎ ÇØ º¸¼¼¿ä.
*---------------------------------------------------------------------------*
#include <stdio.h>
int num[4];
char ch[10];
int main(void)
{
int i;
for( i=0; i<4; i++ )
printf( "num[%d]ÀÇ ÁÖ¼Ò : %d\n", i, &num[i] );
for( i=0; i<10; i++ )
printf( "ch[%d]ÀÇ ÁÖ¼Ò : %d\n", i, &ch[i] );
printf( "********************************************************\n" );
printf( "num[2]ÀÇ ÁÖ¼Ò¿¡ +1À» ÇßÀ»¶§ÀÇ °á°ú : %d+1 = %d\n", &num[2], &num[2]+1 );
printf( "ch[1]ÀÇ ÁÖ¼Ò¿¡ +1À» ÇßÀ»¶§ÀÇ °á°ú : %d+1 = %d\n", &ch[1], &ch[1]+1 );
return 0;
}
*---------------------------------------------------------------------------*
°á°ú
*---------------------------------------------------------------------------*
num[0]ÀÇ ÁÖ¼Ò : 4336376
num[1]ÀÇ ÁÖ¼Ò : 4336380
num[2]ÀÇ ÁÖ¼Ò : 4336384
num[3]ÀÇ ÁÖ¼Ò : 4336388
ch[0]ÀÇ ÁÖ¼Ò : 4336392
ch[1]ÀÇ ÁÖ¼Ò : 4336393
ch[2]ÀÇ ÁÖ¼Ò : 4336394
ch[3]ÀÇ ÁÖ¼Ò : 4336395
ch[4]ÀÇ ÁÖ¼Ò : 4336396
ch[5]ÀÇ ÁÖ¼Ò : 4336397
ch[6]ÀÇ ÁÖ¼Ò : 4336398
ch[7]ÀÇ ÁÖ¼Ò : 4336399
ch[8]ÀÇ ÁÖ¼Ò : 4336400
ch[9]ÀÇ ÁÖ¼Ò : 4336401
***********************************************************
num[2]ÀÇ ÁÖ¼Ò¿¡ +1À» ÇßÀ»¶§ÀÇ °á°ú : 4336384+1 = 4336388
ch[1]ÀÇ ÁÖ¼Ò¿¡ +1À» ÇßÀ»¶§ÀÇ °á°ú : 4336393+1 = 4336394
*---------------------------------------------------------------------------*
¹º°¡ ÀÌ»óÇÏÁÒ? ÀϹÝÀûÀÎ ¿¹»ó´ë·Î¶ó¸é num[2]ÀÇ ÁÖ¼ÒÀÎ 4336384¿¡ +1ÀÌ µÇ¸é ch[1]ÀÇ °æ¿ìó·³
+1¸¸ µÈ 4336385°¡ µÇ¾î¾ß ÇÒ °Í °°Àºµ¥ +4°¡ µÈ 4336388ÀÌ µÇ¾î ÀÖ½À´Ï´Ù. ¿Ö ÀÌ·±ÀÏÀÌ »ý±æ±î¿ä?
±× ÀÌÀ¯´Â Æ÷ÀÎÅÍ ¿¬»êÀ̶ó´Â ƯÀÌÇÑ ³à¼®¿¡¼ ãÀ» ¼ö ÀÖ½À´Ï´Ù. Æ÷ÀÎÅÍ º¯¼ö´Â ±× ÀúÀå µÈ °ªÀ» Áõ/°¨ ¿¬»êÇÒ °æ¿ì ÇØ´ç Æ÷ÀÎÅÍ º¯¼ö°¡ ÂüÁ¶ÇÏ´Â º¯¼öÀÇ µ¥ÀÌÅÍ Å¸ÀÔÀÇ Å©±â¸¦ ÂüÁ¶ÇÏ¿© ¿¬»êÀ» ¼öÇàÇÏ°Ô µË´Ï´Ù. µû¶ó¼ num[2] º¯¼öÀÇ ÁÖ¼Ò¿¡ +1À» ÇßÀ»¶§ num º¯¼öÀÇ µ¥ÀÌÅÍŸÀÔÀÎ intÇüÀÇ Å©±âÀÎ 4(Byte)¸¸Å Áõ°¡°¡ µÈ °Í ÀÔ´Ï´Ù. ¸¶Âù°¡Áö·Î ch[1]ÀÇ ÁÖ¼Ò¿¡ +1À» ÇßÀ»¶§´Â charÇüÀÇ Å©±âÀÎ 1(byte)¸¸Å Áõ°¡ µÈ °ÍÀÌÁö¿ä. ¸¸¾à doubleÇü ¹è¿À̶ó¸é? ´ç¿¬È÷ 8(Byte)¸¸Å¾¿ Áõ°¡³ª °¨¼Ò¸¦ ÇÏ°Ô µË´Ï´Ù.
Áï, &num[2]+1Àº &num[3]°ú, &ch[1]+1Àº &num[2]¿Í µ¿ÀÏÇÑ Àǹ̸¦ °®°Ô µË´Ï´Ù.
¿¬Àå¼±»óÀ¸·Î »ý°¢ÇØ º¼¶§ &num[0]+3Àº ¹«¾ù°ú µ¿ÀÏÇÒ±î¿ä?
num[0]ÀÇ ÁÖ¼Ò 4336376¿¡ 3*4(Byte)ÀÎ 12°¡ ´õÇØÁø 4336388, Áï, num[3]ÀÇ ÁÖ¼Ò°ª°ú µ¿ÀÏÇØÁý´Ï´Ù.
¿©±â¼ ¹º°¡ Çϳª »â~ÀÌ µü ²ÈÈ÷Áö ¾Ê½À´Ï±î?
³×.. ¸Â½À´Ï´Ù. num[0]+X ÀÇ ÁÖ¼Ò´Â num[X]ÀÇ ÁÖ¼Ò¿Í µ¿ÀÏÇÕ´Ï´Ù.
±×¸®°í num[X]+YÀÇ ÁÖ¼Ò´Â num[X+Y]¿Í µ¿ÀÏÇϱ¸¿ä.
¿©±â¼ ¿ì¸®´Â ÇÑ°¡Áö »ç½ÇÀ» À¯Ãß ÇØ º¼ ¼ö ÀÖ½À´Ï´Ù.
óÀ½¿¡ ¿ì¸®´Â num Æ÷ÀÎÅÍ º¯¼ö¶ó°í ÇßÀ¸¸ç º¯¼ö°ªÀº num[0]ÀÇ ÁÖ¼Ò¿Í µ¿ÀÏÇÏ´Ù°í Çß½À´Ï´Ù.
ÀÌ·± »ç½ÇµéÀ» ¿¬°üÁö¾î »ý°¢ÇØ º¼ ¶§ num+1À̶ó´Â ³à¼®Àº &num[1]°ú µ¿ÀÏÇÑ Àǹ̸¦ °®´Â´Ù°í º¼ ¼ö ÀÖ½À´Ï´Ù. num+3Àº &num[3]°ú µ¿ÀÏÇÑ Àǹ̸¦ °®°Ô µÇ°ÚÁö¿ä.
Á¤¸®ÇÕ´Ï´Ù.
À§ÀÇ »ç½Çµé¿¡¼ ÁüÀÛÇØ º¼ ¼ö ÀÖµí, numÀ̶ó´Â Æ÷ÀÎÅÍ º¯¼ö¿¡ +/-¸¦ ÅëÇØ ¿¬»êÀ» ÇÒ ¼ö Àִµ¥
Áõ°¨ µÈ °ªÀÌ ¹«¾ùÀ̳Ŀ¡ µû¶ó ÇØ´ç ¼ø¹øÀÇ º¯¼öÀÇ ÁÖ¼Ò¸¦ ¾ò¾î ¿Ã ¼ö ÀÖ½À´Ï´Ù.
°á·ÐÀûÀ¸·Î ¸»Çϸé num[]ÀÇ °ýÈ£ ¼ÓÀÇ À妽º´Â num[0] º¯¼öÀÇ ÁּҷκÎÅÍ ¾ó¸¶³ª ¶³¾îÁ® ÀÖ´Â º¯¼ö³Ä¿Í °°Àº Àǹ̸¦ °®½À´Ï´Ù.
&num[0]+0 = &num[0]
&num[0]+1 = &num[1]
: :
&num[0]+x = &num[x]
: :
µû¶ó¼ À妽º ¹øÈ£°¡ 0ºÎÅÍ ½ÃÀÛÇϵµ·Ï ÁöÁ¤ÇÑ µ¥¿¡´Â ±× ³ª¸§ÀÇ Àǹ̰¡ ÀÖ´Ù´Â ¶æÀÌÁö¿ä.
¶Ç ÇÑ°¡Áö ƯÀÌÇÑ ½ÇÇèÀ» Çϳª ÇØ º¼±î¿ä?
Àú À§ÀÇ Äڵ忡¼± intÇü ¹è¿º¯¼öÀÎ numÀÌ 4°³¸¸ ¼±¾ð µÇ¾î ÀÖ½À´Ï´Ù. µû¶ó¼ num[5]³ª num[7]Àº »ç¿ë ÇÒ ¼ö ¾ø°ÚÁÒ. ±×·¯³ª ¾Æ·¡ Äڵ带 ÀÔ·ÂÇؼ ÄÄÆÄÀÏ ÇØ º¼±î¿ä?
*---------------------------------------------------------------------------*
#include <stdio.h>
int num[4];
char ch[10];
int main(void)
{
int i;
for( i=0; i<4; i++ )
printf( "num[%d]ÀÇ ÁÖ¼Ò : %d\n", i, &num[i] );
for( i=0; i<10; i++ )
printf( "ch[%d]ÀÇ ÁÖ¼Ò : %d\n", i, &ch[i] );
printf( "**********************************************\n" );
printf( "num[5]ÀÇ ÁÖ¼Ò : %d\n", &num[5] );
printf( "ch[13]ÀÇ ÁÖ¼Ò : %d\n", &ch[13] );
return 0;
}
*---------------------------------------------------------------------------*
°á°ú
*---------------------------------------------------------------------------*
num[0]ÀÇ ÁÖ¼Ò : 4336376
num[1]ÀÇ ÁÖ¼Ò : 4336380
num[2]ÀÇ ÁÖ¼Ò : 4336384
num[3]ÀÇ ÁÖ¼Ò : 4336388
ch[0]ÀÇ ÁÖ¼Ò : 4336392
ch[1]ÀÇ ÁÖ¼Ò : 4336393
ch[2]ÀÇ ÁÖ¼Ò : 4336394
ch[3]ÀÇ ÁÖ¼Ò : 4336395
ch[4]ÀÇ ÁÖ¼Ò : 4336396
ch[5]ÀÇ ÁÖ¼Ò : 4336397
ch[6]ÀÇ ÁÖ¼Ò : 4336398
ch[7]ÀÇ ÁÖ¼Ò : 4336399
ch[8]ÀÇ ÁÖ¼Ò : 4336400
ch[9]ÀÇ ÁÖ¼Ò : 4336401
**********************************************
num[5]ÀÇ ÁÖ¼Ò : 4336396
ch[13]ÀÇ ÁÖ¼Ò : 4336405
*---------------------------------------------------------------------------*
ºÐ¸í Á¸ÀçÇÏÁöµµ ¾Ê´Â num[5]º¯¼ö¿Í ch[13]º¯¼öÀÇ ÁÖ¼Ò¸¦ ÂüÁ¶ÇÏ°í ÀÖ½À´Ï´Ù. ¾î°¼ ÀÌ·± ÀϵéÀÌ ¹ú¾îÁö´Â °ÍÀϱî¿ä?
ÀÌ°ÍÀÌ ¹Ù·Î Æ÷ÀÎÅÍÀÇ Æ¯Â¡ÀÌÀÚ.. À§ÇèÇÑ ¿ä¼ÒÀΰÍÀÌÁö¿ä.
À§¿¡¼ ¼³¸íÇß´ø Æ÷ÀÎÅÍ ¿¬»êÀÇ Æ¯Â¡À¸·Î ÀÎÇØ ½ÃÀÛ ÁÖ¼Ò¸¦ ¾Ë°í ÀÖÀ¸¸é À§·Îµç ¾Æ·¡·Îµç Àڱ⠸ڴë·Î À§Ä¡¸¦ ¹Ù²Ù¾î ÂüÁ¶ ÇÒ ¼ö ÀÖ´Ù´Â ¶æ ÀÔ´Ï´Ù.
½ÉÁö¾î´Â À½¼ö À妽º¸¦ ÀÌ¿ëÇؼ num[-3]À̳ª num[-100] °°Àº ¾î󱸴Ͼø´Â ÂüÁ¶±îÁö °¡´ÉÇÕ´Ï´Ù =_=;; ¹°·Ð À妽º ½ºÅÇ(ÀÚ·áÇü Å©±â)´Â À¯Áö°¡ µÇÁö¿ä.
¶§·Î´Â ÀÌ·± ºÎºÐÀ» °£°úÇؼ Ä¡¸íÀûÀÎ ¸Þ¸ð¸® ÂüÁ¶ ¿À·ù¸¦ ³¾ ¼öµµ ÀÖ°í, ½ÉÁö¾î´Â ÇÑ´ëÀÇ PC¸¦ ¿ÏÀü ¹Ùº¸ ¸ÛÅÖ±¸¸®·Î ¸¸µé ¼öµµ ÀÖ½À´Ï´Ù.(¹°·Ð ¿äÁòÀÇ OSµéÀÌ ¿ö³« ÁÁ¾ÆÁ®¼ ¿Ø¸¸ÇÑ ÂüÁ¶ ¿À·ù³ª ½Ã½ºÅÛ¿¡ Ä¡¸íÀûÀÏ ¼ö ÀÖ´Â ºÎºÐÀº ´Ù Ä¿¹ö¸¦ ÇÏ°í ÀÖÁÒ.)
±×¸®°í, À̸¦ °íÀÇÀûÀ¸·Î ¾Ç¿ëÇÑ ¿¹°¡ ¹Ù·Î ÈçÈ÷ À̾߱âÇÏ´Â ÇØÅ·Åø, ÇÙ ÀÔ´Ï´Ù.
¹°·Ð ¾î´ÀÁ¤µµ ¼öÁØ ÀÌ»óÀÇ ¸Þ¸ð¸® °ü¸® ±â¼úÀ» ÇÊ¿ä·Î ÇÏÁö¿ä.
ÃÖÁ¾À¸·Î Á¤¸®ÇÕ´Ï´Ù.
¹è¿º¯¼ö´Â Æ÷ÀÎÅÍÀÔ´Ï´Ù. µû¶ó¼ ÀÏ¹Ý ½Ç¼ö¿¬»êÀÌ Àû¿ëµÇÁö ¾Ê°í Æ÷ÀÎÅÍ ¿¬»êÀ̶ó´Â ƯÀÌÇÑ ¿¬»êÀ» ÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×¸®°í, ¹è¿º¯¼ö°¡ °®°í ÀÖ´Â À妽º´Â Æ÷ÀÎÅÍ ½ÃÀÛ ÁÖ¼Ò·Î ºÎÅÍ À妽ºÅ©±â ¸¸Å ¶³¾îÁ® ÀÖ´Â ÁÖ¼ÒÀÇ º¯¼ö¸¦ ÂüÁ¶Ç϶ó´Â Àǹ̸¦ °®½À´Ï´Ù.
¶§¹®¿¡ À妽ºÀÇ °ª¿¡ µû¶ó ¹üÀ§¸¦ Àڱ⠸¶À½´ë·Î ³Ñ³ªµé ¼ö ÀÖÀ¸¸ç À̸¦ ¾ó¸¶³ª Àß °ü¸®ÇÏ´À³Ä¿¡ µû¶ó¼ ¹è¿À» ¸¶½ºÅÍ Çß´ÂÁö°¡ ÆÇ°¡¸§ ³´Ù°íÇÒ ¼ö ÀÖ½À´Ï´Ù.
´ÙÀ½ ½ºÅ͵ð´Â ¿ø·¡ ´ÙÂ÷¿ø Æ÷ÀÎÅÍ/¹è¿À» ´Ù·ï º¼ »ý°¢À̾ú´Âµ¥, ¸ÕÀú CÀÇ ±âº»À» ´Ù½Ã ¤°í ³Ñ¾î°¡¾ß ÇÒ Çʿ伺ÀÌ ´À²¸Áö´õ±º¿ä..
±×·¡¼ ´ÙÀ½¹ø ½ºÅ͵ðÀÇ ÁÖÁ¦´Â ±âÃÊÁßÀÇ ±âÃÊÀÎ if, if/else, switch/case ¹®¿¡ ´ëÇؼ ¾Ë¾Æº¼±î ÇÕ´Ï´Ù.
±×·³ ÁÁÀº ÇÏ·ç µÇ½Ã±æ..
|
Hit : 6227 Date : 2011/05/01 11:30
|