|
|
|
¸®´ª½ºÆÁ Go Unix Power Tools Online Book
Go Bash Guide
|
|
Read No. 136 article |
2002-04-09 13:24:50 |
|
|
|
|
NickName |
Ç®ºñ´© |
Subject |
[C] Æ÷ÀÎÅÍ ½ºÅ͵ð |
|
|
¡ºÇÁ·Î±×·¡¹Ö ¾ð¾î °ÁÂ-C,C++,VC °Á (go PROG)¡» 1586¹ø
Á¦ ¸ñ:[°ÁÂ] Æ÷ÀÎÅÍ ½ºÅ͵ð [1/8] -½Å°æÈ£
¿Ã¸°ÀÌ:ÆÄÀÌ»ç¶û(½Å°æÈ£ ) 00/01/26 23:56 ÀÐÀ½:619 °ü·ÃÀÚ·á ¾øÀ½
-----------------------------------------------------------------------------
¹Ý Ä£±¸µéÀ» À§Çؼ Á¦°¡ À۳⿡ ¾´ ÀÚ·á ÀÔ´Ï´Ù.
Á¶ÀâÇÏ°í ¸¹ÀÌ ÀÌ»óÇÒÁöµµ ¸ð¸£Áö¸¸, Àß ºÁ ÁÖ¼¼¿ä. ^^;
¡º¹è¿òÅÍ-°Á (go SSCS)¡» 25¹ø
Á¦ ¸ñ:[°ÁÂ] Æ÷ÀÎÅÍ ½ºÅ͵ð [1/8] -½Å°æÈ£
¿Ã¸°ÀÌ:ÆÄÀÌ»ç¶û(½Å°æÈ£ ) 00/01/23 23:31 ÀÐÀ½: 11 °ü·ÃÀÚ·á ¾øÀ½
-----------------------------------------------------------------------------
¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬
¡á Æ÷ÀÎÅÍ ½ºÅ͵ð [1] ¡á
¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬
[990129 ÆÄÀÌ»ç¶û]
¢Ä µé¾î°¡¸é¼¡¦
¾È³çÇϼ¼¿ä. ¸îȸ¿¡ °ÉÃÄ ¹Ý°Ô¿¡ ¿Ã·È´ø ±ÛÀÔ´Ï´Ù. º°·Î ÁÁÀº ÀÚ·á´Â ¾Æ´Ï
Áö¸¸ ¿©±â¿¡ À־ ³ª»Ü°Ç ¾ø°Ú´Ù´Â »ý°¢¿¡ ¿Ã¸®´Âµ¥, °ú¿¬ Á¤¸» ±×·²Áö´Â
¸ð¸£°Ú³×¿ä. ==; (ÀÌ ºÎºÐ¸¸ »©°í ³ª¸ÓÁö´Â ¹Ý°ÔÀÇ ±Û°ú µ¿ÀÏÇÕ´Ï´Ù)
Ʋ¸° ³»¿ëÀÌ ÀÖÀ»¶§´Â °¡Â÷¾øÀÌ re¸¦ ´·¯ Àú¿¡°Ô ¸ÞÀÏÀ» ÁÖ¼¼¿ä.
¢Ä ÄÄÆÄÀÏ·¯¿¡ ´ëÇØ¡¦
C °ÁÂÀ̹ǷΠÅͺ¸ C 2.0À» ±âÁØÀ¸·Î ÇÏ°ÚÀ¸³ª Àü º¼·£µå C++ ¹Û¿¡ ¾ø±â ¶§
¹®¿¡ °Å±â¼ Å×½ºÆ® ÇØ º» ¿¹Á¦¸¦ ¿Ã¸± °Ì´Ï´Ù. º¼·£µå C++ 3.1À» ±¸ÇÏ°í ½Í
À¸½Ã¸é ¸ÞÀÏ ÁÖ¼¼¿ä. ²À ÇÊ¿äÇÑ °Íµé¸¸ ¾ÐÃàÇؼ 2¸Þ°¡ Á¤µµ·Î ¸¸µé¾î ³õÀº°Ô
ÀÖ½À´Ï´Ù.
¢Ä µ¡ºÙÀÌ´Â ±Û¡¦
¿¹Á¦´Â ²À ½ÇÇàÇØ º¸¼¼¿ä. ±×¸®°í ³»¿ëÀÌ Á» ¸¹¾Æ¼ Àдٰ¡ Áö·çÇØ ÇÏ½Ç ºÐ
µµ °è½ÇÁö ¸ð¸£°Ú´Âµ¥, ÄÄÇкζó¸é ´ç¿¬È÷ ÀÌÇØÇؾ߸¸ ÇÏ´Â °³³äÀÔ´Ï´Ù. ¾Æ¹«
·¡µµ ±Û ¾²´Â°Ô º¸´Â°Å º¸´Ù´Â ÈξÀ ÈûµéÅÍÀε¥ ±Û ¾´ »ç¶÷ »ý°¢µµ Á» ÇØ ÁÖ
¼¼¿ä. ^^; (¸Ó Á¦°¡ ÀÚóÇؼ ÇÏ´Â ÀÏÀÌÁö¸¸¡¦)
¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬
¡á 1. Æ÷ÀÎÅͶõ¡¦ ¡á
¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬
¢Ä º¯¼ö¿Í ÁÖ¼Ò
¿ì¸®°¡ ÈçÈ÷ »ç¿ëÇÏ´Â º¯¼ö. ÀÌ º¯¼öÀÇ ½Çü¿¡ ´ëÇØ ¾ó¸¶³ª ¾Æ½Ã³ª¿ä? º¯¼ö
¸¦ À̸§ ±×´ë·Î Çؼ®ÇØ º¸¸é ¡¸º¯ÇÒ ¼ö ÀÖ´Â °ª¡¹À̶ó°í Çϳ׿ä. ±×·¸Áö¸¸ °ª
À̶ó°í Çϱ⿡´Â Á¶±Ý ¹«¸®°¡ ÀÖÁö¿ä. ÇϳªÀÇ °ªÀÌ ´Ù¸¥ °ªÀ¸·Î ±×³É ¹Ù²ð ¼ö
´Â ¾øÀ¸´Ï±î¿ä. º¯¼ö¶ó´Â °ÍÀ» Á» ´õ ±¸Ã¼ÀûÀ¸·Î ¸»ÇÏÀÚ¸é ¡º°ªÀ» ÀúÀåÇÒ ¼ö
ÀÖ´Â ¸Þ¸ð¸®¡»¶ó°í ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ¹Ì ¾Æ½ÇÅ×Áö¸¸, º¯¼ö´Â ¸Þ¸ð¸®ÀÇ ÀϺÎ
ÀÔ´Ï´Ù. ¹°·Ð ¸ðµç ¸Þ¸ð¸®°¡ º¯¼ö°¡ µÇ´Â°Ç ¾Æ´ÏÁö¸¸ ±× °¡´É¼ºÀº °¡Áö°í ÀÖ
Áö¿ä. ¿ì¸®°¡ º¯¼ö¸¦ ¼±¾ðÇÒ ¶§ ÄÄÆÄÀÏ·¯´Â ÀڱⰡ ¾Ë¾Æ¼ ºñ¾îÀÖ´Â ¸Þ¸ð¸®¸¦
ã¾Æ ±× ¸Þ¸ð¸®¸¦ º¯¼ö·Î »ç¿ëÇÏ°Ô µÇ´Â °Ì´Ï´Ù.
±×·¸´Ù¸é ÄÄÆÄÀÏ·¯´Â ¾î¶»°Ô °¢ ¸Þ¸ð¸®¸¦ ±¸ºÐÇÒ±î¿ä? ½±°Ô »ý°¢ÇսôÙ. ¿ì
¸®°¡ ÁýÀ̳ª »ç¶÷À» ±¸ºÐÇÒ ¶§ ¹Ù·Î ÁÖ¼Ò³ª Áֹεî·Ï¹øÈ£ °°Àº ¹øÈ£¸¦ »ç¿ëÇÏ
Áö¿ä. (ÁÖ¼Ò´Â ÀϺθ¸ ¹øÈ£À̱ä ÇÏÁö¸¸¡¦ ´õ ½±°Ô ¾ÆÆÄÆ®ÀÇ È£¼ö¸¦ »ý°¢ÇØ º¸
¼¼¿ä) ÄÄÇ»Å͵µ ¸¶Âù°¡Áö ÀÔ´Ï´Ù. °¢°¢ÀÇ ¸Þ¸ð¸®¿¡ ÁÖ¼Ò¸¦ ºÙ¿© ±¸º°À» ÇÏ´Â
°ÍÀÌÁö¿ä. ±×¸®°í ÄÄÇ»ÅÍÀÇ ¸Þ¸ð¸®´Â ÇÑÁÙ·Î À̾îÁ® Àֱ⠶§¹®¿¡(À̸¦ ¡¸¼±Çü
¸Þ¸ð¸®¡¹¶ó°í ÇÕ´Ï´Ù) ¿¬¼ÓµÈ °ªÀ¸·Î ÁÖ¼Ò°ªÀÌ Ç¥½Ã µË´Ï´Ù. Áï ÄÄÇ»ÅÍÀÇ ¸Þ
¸ð¸® Å©±â°¡ 100À̶ó°í Çϸé 0ºÎÅÍ ½ÃÀÛÇؼ 99±îÁöÀÇ ÁÖ¼Ò°¡ Á¸ÀçÇÏ´Â °ÍÀÌ
Áö¿ä. ±×·±µ¥ ÄÄÇ»ÅÍ´Â ÀϹÝÀûÀ¸·Î ¼ö¹é¸¸ ÀÌ»óÀÇ Å©±â¸¦ °¡Áö¹Ç·Î ±×¸¸Å ÁÖ
¼Ò°ªÀÇ ¹üÀ§µµ Ä¿Áö°Ô µË´Ï´Ù. ±×·¡¼ ÈçÈ÷ ÁÖ¼Ò°ªÀº 4¹ÙÀÌÆ®ÀÇ longÇüÀ¸·Î
³ªÅ¸³»´Â °ÍÀÔ´Ï´Ù. (C¿¡¼ Á¤¼ö¸¦ Ç¥ÇöÇÏ´Â °¡Àå Å« ÀÚ·áÇüÀÌÁö¿ä)
¢Ä Æ÷ÀÎÅÍ »ó¼ö¿Í º¯¼ö
Æ÷ÀÎÅÍ »ó¼ö´Â º°°Ô ¾Æ´Õ´Ï´Ù. (¹°·Ð Æ÷ÀÎÅÍ º¯¼öµµ º°°Ô ¾Æ´ÏÁö¸¸¡¦) Æ÷ÀÎ
ÅÍ »ó¼ö´Â ¹Ù·Î À§¿¡¼ ¸»¾¸µå¸° ÁÖ¼Ò¸¦ ¸»ÇÏ´Â °Ì´Ï´Ù. ´ç¿¬È÷ Å©±âµµ 4¹ÙÀÌ
Æ®°ÚÁö¿ä? ÄÄÇ»ÅÍÀÇ °¡Àå ù¹ø° ¸Þ¸ð¸®ÀÇ Æ÷ÀÎÅÍ´Â 0x00000000ÀÌ µÇ´Â °Ì´Ï
´Ù. ±× ´ÙÀ½Àº 0x00000001¡¦ ½±Áö¿ä? (¾Õ¿¡ 0x¸¦ ºÙÀ롂 16Áø¼ö¶ó´Â°Å ¾Æ½ÃÁö
¿ä?) ±×·¸´Ù¸é Æ÷ÀÎÅÍ º¯¼ö´Â ¹«¾ùÀϱî¿ä? ¹Ù·Î ¡¸Æ÷ÀÎÅÍ »ó¼ö¸¦ ÀúÀåÇÒ ¼ö
ÀÖ´Â º¯¼ö¡¹°ÚÁö¿ä. Æ÷ÀÎÅÍ º¯¼öÀÇ Å©±âµµ Æ÷ÀÎÅÍ »ó¼öó·³ 4¹ÙÀÌÆ® ÀÔ´Ï´Ù.
char *p; // Æ÷ÀÎÅÍ º¯¼ö¸¦ ¼±¾ðÇÒ ¶§ ¡¸*¡¹¸¦ ºÙÀÌÁö¿ä
ÀÌ p¶ó´Â Æ÷ÀÎÅÍ º¯¼ö´Â Æ÷ÀÎÅ͸¦ ÀúÀåÇÒ ¼ö ÀÖ½À´Ï´Ù. charÀÇ Æ÷ÀÎÅÍÇüÀÌ
±ä ÇÏÁö¸¸ Æ÷ÀÎÅÍ´Â Æ÷ÀÎÅÍ ÀÔ´Ï´Ù. ¾Õ¿¡ Á¤ÇØÁø ÀÚ·áÇüÀÌ ¹«¾ùÀÌµç »ó°ü¾øÀÌ
Å©±â´Â 4¹ÙÀÌÆ®ÀÎ °ÅÁö¿ä. ±×·¸´Ù¸é ¾Õ¿¡ Á¤ÇØÁø ÀÚ·áÇüÀº ¿Ö ºÙ¿©ÁÖ´Â °ÍÀÏ
±î¿ä? È졦 ÀÌ°Ç ³ªÁß¿¡ ¾Ë¾Æº¸µµ·Ï ÇÏ°í, ±×¸²À» ¸î°³ º¸µµ·Ï ÇÏÁö¿ä.
char ch = 'A'; // 'A'ÀÇ ÄÚµå °ªÀº 65 ÀÔ´Ï´Ù
char *pc = &ch; // º¯¼öÀÇ ÁÖ¼Ò°ªÀ» ¾Ë¾Æ³¾ ¶§´Â ¡¸&¡¹¸¦ »ç¿ëÇÕ´Ï´Ù
// chÀÇ ÁÖ¼Ò°ªÀÌ 0x0000001A¶ó°í °¡Á¤ÇսôÙ
¦®¦¬¦¬¦³¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¯
¦ ¦ ¦®¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¯ ¦
¦²¦¬¦¬¦´ ¡å ¦
¦ÁÖ¼Ò¦ 10 1A 1B 1C 1D 1E 21 22 23 24 25 ¦
¦ ¦ ¦³¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬¦¬¦¬¦¬¦¬¦¬¦³¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦³¦¬¦³ ¦
¦ °ª ¦ ¦ ¦65¦ ¦ ¦ ¦ ¦ ¡¦ ¦1A¦00¦00¦00¦ ¦ ¦
¦ ¦ ¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦¬¦¬¦¬¦¬¦¬¦µ¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦µ¦¬¦µ ¦
¦À̸§¦ ch pc ¦
¦±¦¬¦¬¦µ¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦°
ÄÄÇ»ÅÍ°¡ ¼ö¸¦ ÀúÀåÇÏ´Â ¹æ¹ýÀº Á» ƯÀÌ ÇÕ´Ï´Ù. ¹ÙÀÌÆ® º°·Î °Å²Ù·Î ÀúÀå
ÇÏ´Â °ÍÀÌÁö¿ä. Áï, 0x12345678À» ù¹ø° ¹ÙÀÌÆ®¿¡ 78, µÎ¹ø° ¹ÙÀÌÆ®¿¡ 56,
¼¼¹ø° ¹ÙÀÌÆ®¿¡ 34, ³×¹ø° ¹ÙÀÌÆ®¿¡ 12¸¦ ÀúÀåÇÏ´Â °ÍÀÌÁö¿ä. ÀÌÀ¯´Â Á¶±Ý
ÈÄ¿¡ ¾Ë¾Æº¸µµ·Ï ÇÏ°Ú½À´Ï´Ù.
ÇÑ°¡Áö ´õ. ÀÌ ±Û¿¡ »ç¿ëµÇ´Â ¸ðµç ÁÖ¼Ò°ªÀº ÀÓÀÇ·Î ºÙÀÎ °ÍÀÔ´Ï´Ù. ÄÄÆÄÀÏ
·¯°¡ ¸¶À½´ë·Î ºó °ø°£À» ã¾Æ »ç¿ëÇϱ⠶§¹®¿¡ Ưº°È÷ Á¤ÇØÁø °ªÀÌ ÀÖÀ»¼ö°¡
¾ø±â ¶§¹®ÀÌÁö¿ä.
int ih = 0x13;
int *pi = &ih;
¦®¦¬¦¬¦³¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¯
¦ÁÖ¼Ò¦ 41 42 43 44 45 46 5A 5B 5C 5D 5E ¦
¦ ¦ ¦³¦¬¦³¦¬¦¬¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬¦¬¦¬¦¬¦¬¦¬¦³¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦³¦¬¦³ ¦
¦ °ª ¦ ¦ ¦13¦00¦ ¦ ¦ ¦ ¡¦ ¦42¦00¦00¦00¦ ¦ ¦
¦ ¦ ¦µ¦¬¦µ¦¬¦¬¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦¬¦¬¦¬¦¬¦¬¦µ¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦µ¦¬¦µ ¦
¦À̸§¦ ih pi ¦
¦±¦¬¦¬¦µ¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦°
long lh = 0x00781253;
long *pl = &lh;
¦®¦¬¦¬¦³¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¯
¦ÁÖ¼Ò¦ 65 66 67 68 69 70 7A 7B 7C 7D 7E ¦
¦ ¦ ¦³¦¬¦³¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦³¦¬¦³¦¬¦¬¦¬¦¬¦¬¦¬¦³¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦³¦¬¦³ ¦
¦ °ª ¦ ¦ ¦53¦12¦78¦00¦ ¦ ¡¦ ¦66¦00¦00¦00¦ ¦ ¦
¦ ¦ ¦µ¦¬¦µ¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦µ¦¬¦µ¦¬¦¬¦¬¦¬¦¬¦¬¦µ¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦µ¦¬¦µ ¦
¦À̸§¦ lh pl ¦
¦±¦¬¦¬¦µ¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦°
¢Ä *¿¬»êÀÚÀÇ ¾²ÀÓ»õ
¸ðµç ¿¬»êÀÚ°¡ ±×·¸µíÀÌ *¿Í &µµ ¿©·¯°¡Áö ¾²ÀÓ»õ¸¦ °¡Áö°í ÀÖ½À´Ï´Ù. ¿ì¼±
*´Â °öÀ» ±¸Çϱ⵵ ÇÏ°í À§¿¡¼ »ç¿ëµÈ °Í ó·³ ÀÚ·áÇü¿¡ ºÙ¾î Æ÷ÀÎÅÍ º¯¼öÀÓ
À» ³ªÅ¸³»±âµµ ÇÕ´Ï´Ù. (ÀÌ °æ¿ì´Â ¿¬»êÀÚ¶ó°í º¸±â´Â Á» ¾î·ÆÁö¿ä) ±×¸®°í
¶Ç ÇÑ°¡Áö. ¡¸ÁÖ¾îÁø ÁÖ¼ÒÀÇ °ªÀ» Àо´Â¡¹ Àϵµ ÇÕ´Ï´Ù. ´ÙÀ½ ÇÁ·Î±×·¥À»
½ÇÇàÇØ º¸¼¼¿ä.
¦®¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¯
¦ #include <stdio.h> ¦
¦ ¦
¦ void main(void) { ¦
¦ int i; ¦
¦ for (i = 0; i < 100; i++) ¦
¦ printf("%c", *(char *)i); ¦
¦ } ¦
¦±¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦°
½ÇÇàÇØ º¸¸é ȸéÀÌ ÀÌ»óÇÑ ¹®Àڵ鸸 ÀÜ¶à ³ª¿Ã °Ì´Ï´Ù. ±×·³ ÀÌ ¹®ÀÚµéÀÌ
¶æÇÏ´Â°Ô ¹«¾ùÀϱî¿ä? ¼Ò½º Äڵ带 Çѹø º¾½Ã´Ù. i °ªÀÌ 0ºÎÅÍ 99±îÁö Áõ°¡ÇÒ
Å×°í printf ¹®¿¡¼ ¹«¾ð°¡¸¦ Ãâ·ÂÇ϶ó°í ÇÏÁö¿ä. ±× ºÎºÐ¸¸ ¶â¾îº¸¸é,
*(char *)i
i°¡ 0ÀÎ °æ¿ì À§ÀÇ ÄÚµå´Â ´ÙÀ½°ú °°°ÚÁö¿ä.
*(char *)0
ÀÌ°Ô ¶æÇÏ´Â Àǹ̸¦ ¾Æ½Ã°Ú³ª¿ä? ¿ì¼± 0À̶ó´Â ¼ö(»ó¼ö)¸¦ char *ÇüÀ¸·Î ij
½ºÆà ÇßÁö¿ä. ÀÌÁ¦ 0Àº ±×³É ¼ö°¡ ¾Æ´Ñ char Å©±â(1 ¹ÙÀÌÆ®)ÀÇ ¸Þ¸ð¸®¸¦ ³ªÅ¸
³¾ ¼ö ÀÖ´Â Æ÷ÀÎÅÍ »ó¼ö°¡ µÈ °Ì´Ï´Ù. ±×¸®°í °Å±â¿¡ *¿¬»êÀÚ¸¦ ºÙ¿© °ªÀ» ÀÐ
¾î³»°í ÀÖÁö¿ä. ±×·¸½À´Ï´Ù. ÀÌ ¼Ò½º ÄÚµå´Â 0¹ø ¸Þ¸ð¸®ÀÇ °ªÀ» ÀÐ¾î¼ Ãâ·Â
ÇÏ´Â °ÍÀÌÁö¿ä. ÀÌ·¸°Ô 99¹ø° ¸Þ¸ð¸®±îÁö ¸ðµÎ 100°³ÀÇ ¸Þ¸ð¸®ÀÇ ³»¿ëÀ» º¸
¿©ÁÖ´Â ÄÚµåÀÎ °ÍÀÔ´Ï´Ù. ¹°·Ð ¿ì¸®°¡ ¾Ë¾Æº¼ ¼ö´Â ¾ø´Â ±ÛÀڵ鸸 Àܶà ÀÖÁö
¸¸¿ä.
¸¸¾à¿¡ (char *)·Î ij½ºÆÃÀ» ¾ÈÇÏ°í *0À̶ó°í¸¸ ¾²¸é ¾î¶»°Ô µÉ±î¿ä? ¿¡·¯
°¡ ³ªÁö¿ä? ¿ÖÀϱî¿ä? *¿¬»êÀÚ´Â ±× ´ÙÀ½¿¡ ¿À´Â ³»¿ëÀ» Æ÷ÀÎÅͶó°í °¡Á¤À»
Çϱâ´Â Çϴµ¥, °Å±â¼ ¾ó¸¶¸¸ÇÑ Å©±âÀÇ ¸Þ¸ð¸®¸¦ Àоî¿Í¾ß ÇÏ´ÂÁö¸¦ ¸ð¸£´Â
°Ì´Ï´Ù. Áï *¾ÕÀÇ ÀÚ·áÇüÀº ¡¸±× Æ÷ÀÎÅÍÀÇ °ªÀ» *¸¦ »ç¿ëÇؼ Àоî¿Ã ¶§ ¾ó¸¶
¸¸ÇÑ Å©±â¸¦ Àоî¿Í¾ß ÇÏ´ÂÁö¸¦ Á¤ÇØÁÖ´Â °Í¡¹À̶ó ÇÒ ¼ö ÀÖ½À´Ï´Ù. ´ÙÀ½ ¿¹
Á¦¸¦ º¸¼¼¿ä.
¦®¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¯
¦ #include <stdio.h> ¦
¦ ¦
¦ void main() { ¦
¦ int ih = 0x0506; ¦
¦ char *pp = (char *)&ih; ¦
¦ ¦
¦ long lh = 0x01020304; ¦
¦ char *pc = (char *)&lh; ¦
¦ int *pi = (int *)&lh; ¦
¦ ¦
¦ printf("- integer -\n"); ¦
¦ printf("ih=%X\n", ih); ¦
¦ printf("(char)ih=%X, *(char *)=%X\n", (char)ih, *pp); ¡¦¨ç ¦
¦ ¦
¦ printf("\n- long integer -\n"); ¦
¦ printf("lh=%lX\n", lh); ¦
¦ printf("(char)lh=%X, *(char *)=%X\n", (char)lh, *pc); ¡¦¨è ¦
¦ printf("(int)lh=%X, *(int *)=%X\n", (int)lh, *pi); ¡¦¨é ¦
¦ } ¦
¦ ¦
¦²¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦´
¦ <°á°ú> ¦
¦ - integer - ¦
¦ ih=506 ¦
¦ (char)ih=6, *(char *)=6 ¦
¦ ¦
¦ - long integer - ¦
¦ lh=1020304 ¦
¦ (char)lh=4, *(char *)=4 ¦
¦ (int)lh=304, *(int *)=304 ¦
¦±¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦°
¨çÀÇ Ã¹¹ø° °ªÀº intÇü 0x0506À» charÇüÀ¸·Î ij½ºÆÃÇÑ °ªÀÔ´Ï´Ù. ´ç¿¬ÇÏ°Ô
µµ int´Â 2¹ÙÀÌÆ®, charÇüÀº 1¹ÙÀÌÆ®À̹ǷΠcharÇüÀ» ¹þ¾î³ª´Â ºÎºÐÀÌ Àß·ÁÁ®
³ª°£ 6ÀÌ °á°ú°¡ µÇ°ÚÁö¿ä.
Æ÷ÀÎÅ͸¦ »ç¿ëÇÑ ¿¬»êµµ ¸¶Âù°¡Áö ÀÔ´Ï´Ù. pp´Â 1¹ÙÀÌÆ® Å©±âÀÇ º¯¼ö¸¦ Æ÷
ÀÎÆ®ÇÏ´Â Æ÷ÀÎÅÍ º¯¼öÀÌÁö¿ä. ÀÌ pp º¯¼ö¸¦ »ç¿ëÇØ ±× ¸Þ¸ð¸®¸¦ Àоî¿À°Ô µÇ
¸é ±× ù¹ø° ¹ÙÀÌÆ® ÇÑ ¹ÙÀÌÆ®¸¸À» Àоî¿À°Ô µÇ´Â °ÍÀÌÁö¿ä.
¦®¦¬¦¬¦³¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¯
¦ÁÖ¼Ò¦ 41 42 43 44 45 46 5A 5B 5C 5D 5E ¦
¦ ¦ ¦³¦¬¦³¦¬¦¬¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬¦¬¦¬¦¬¦¬¦¬¦³¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦³¦¬¦³ ¦
¦ °ª ¦ ¦ ¦06¦05¦ ¦ ¦ ¦ ¡¦ ¦42¦00¦00¦00¦ ¦ ¦
¦ ¦ ¦µ¦¬¦µ¦¬¦¬¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦¬¦¬¦¬¦¬¦¬¦µ¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦µ¦¬¦µ ¦
¦À̸§¦ ih pp ¦
¦±¦¬¦¬¦µ¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦°
pp´Â char *Çü º¯¼öÀ̹ǷΠ*pp´Â char ¸¸Å(1¹ÙÀÌÆ®)¸¸À» Àоî¿À°Ô µÈ´Ù´Â
°ÍÀÔ´Ï´Ù. ih¸¦ charÇüÀ¸·Î ij½ºÆÃÇÑ °á°ú¿Í °°°Ô µÇÁö¿ä. ´ç¿¬È÷ °°¾Æ¾ß ÇÏ
´Â °Å°í¿ä.
¸¸¾à ¼ö¸¦ °Å²Ù·Î ÀúÀåÇÏÁö ¾Ê°í ¼ø¼´ë·Î ÀúÀåÀ» ÇÑ´Ù¸é µÎ °á°ú°¡ Ʋ¸®°Ô
³ª¿Ã °Ì´Ï´Ù. Æ÷ÀÎÅ͸¦ »ç¿ëÇØ ¾î¶² º¯¼öÀÇ ÀÏÁ¤ Å©±â¸¸Å¸¸À» Àоî¿À·Á°í ÇÒ
¶§ ¹®Á¦°¡ »ý±â°ÚÁö¿ä. ±²ÀåÈ÷ º¹ÀâÇÑ °úÁ¤ÀÌ ¿ä±¸µÉ °Ì´Ï´Ù. ÀÌ ¶§¹®¿¡ ÄÄÇ»
ÅÍ´Â ¼ö¸¦ °Å²Ù·Î ÀúÀåÇÏ´Â °ÍÀÌÁö¿ä.
¨è¿Í ¨éÀº À§ÀÇ ³»¿ë°ú °°Àº ³»¿ëÀ̹ǷΠ³Ñ¾î°¡µµ·Ï ÇÏ°Ú½À´Ï´Ù.
¢Ä &¿¬»êÀÚÀÇ ¾²ÀÓ»õ
¿¬»êÀÚ &´Â ºñÆ® ¿¬»êÀڷνá AND ¿¬»êÀ» ÇàÇÏ´Â ¿¬»êÀÚÀÔ´Ï´Ù. ±×·±µ¥ ¿©±â
¼´Â address-of ¿¬»êÀÚÀÇ ±â´Éµµ ÇàÇÏ°í ÀÖ½À´Ï´Ù. À̸§ ±×´ë·Î ¡¸¾î¶² º¯¼ö
ÀÇ ÁÖ¼Ò¸¦ ¾Ë¾Æ³»´Â¡¹ ¿ªÇÒÀ» ÇÏ´Â ¿¬»êÀÚ ÀÔ´Ï´Ù. »ó¼ö´Â ¸Þ¸ð¸®¿¡ À§Ä¡ÇÏÁö
¾ÊÀ¸¹Ç·Î ÁÖ¼Ò°¡ ÀÖÀ» ¼ö ¾ø°í ´ç¿¬È÷ &¿¬»êÀÚµµ »ç¿ëÇÏÁö ¸øÇÏ°ÚÁö¿ä.
¢Ä *¿¬»êÀÚ¿Í &¿¬»êÀÚÀÇ °ü°è
*¿¬»êÀÚ´Â ¾î¶² ÁÖ¼ÒÀÇ °ªÀ» Àоî¿À´Â ¿¬»êÀÚ¶ó°í Çß°í &¿¬»êÀÚ´Â ¾î¶² º¯
¼öÀÇ ÁÖ¼Ò¸¦ ¾Ë¾Æ³»´Â ¿¬»êÀÚ¶ó°í ÇßÁö¿ä. ÀÌ µÎ ¿¬»êÀÚÀÇ ±â´ÉÀº ¿ÏÀüÈ÷ ¹Ý
´ë¶ó°í ÇÒ ¼ö ÀÖ°ÚÁö¿ä. ¹°·Ð º¯¼ö¿¡ ´ëÇØ »ç¿ëÇÒ ¶§ ¸»ÀÔ´Ï´Ù. (»ó¼ö¿¡¼´Â
*´Â °¡´ÉÇÏÁö¸¸ &´Â ¾Æ¿¹ »ç¿ëÀ» ÇÏÁö ¸øÇÏÁö¿ä)
¢Ä Æ÷ÀÎÅÍ º¯¼ö¸¦ »ç¿ëÇØ °£Á¢ÀûÀ¸·Î º¯¼öÀÇ °ª ÂüÁ¶Çϱâ
int ih = 0x1234;
int *pi = &ih;
*pi = 0x5678;
ÀÌ¹Ì ¾Æ½Ã°ÚÁö¸¸ °£´ÜÈ÷ ¼³¸íÇÏ°Ú½À´Ï´Ù. pi´Â ihÀÇ ÁÖ¼Ò¸¦ °¡Áö°í ÀÖ°í ±×
ÁÖ¼ÒÀÇ ¸Þ¸ð¸®¸¦ *¿¬»êÀÚ¸¦ ÅëÇØ ÂüÁ¶ÇÏ°í ÀÖ½À´Ï´Ù. ±× ¸Þ¸ð¸®¿¡ 0x5678À̶ó
´Â °ªÀ» ³Ö°í ÀÖÁö¿ä. ÇÑ ¹®ÀåÀ¸·Î ¼³¸íÇÑ´Ù¸é ¡¸piÀÇ °ªÀ» ÁÖ¼Ò·Î ÇÏ´Â 2¹Ù
ÀÌÆ® Å©±âÀÇ ¸Þ¸ð¸®¿¡ 0x5678¸¦ ´ëÀÔÇϴ¡¹ °ÍÀÔ´Ï´Ù. ´ÙÀ½°ú °°ÀÌ ÇÑ´Ù¸é ¾î
¶»°Ô µÉ±î¿ä?
int ih = 0x1234;
char *pc = &ih;
*pc = 0x56;
±×·¸½À´Ï´Ù. ¹Ù·Î ih °ªÁßÀÇ charÇüÀ¸·Î ÂüÁ¶ °¡´ÉÇÑ ºÎºÐÀΠù¹ø° ¹ÙÀÌÆ®
¸¸ÀÌ ¹Ù²î°Ô µÇÁö¿ä. °á°úÀûÀ¸·Î ih´Â 0x1256ÀÌ µÇ´Â °ÍÀÔ´Ï´Ù. ½Å±âÇÏÁö¿ä?
¢Ä voidÇü Æ÷ÀÎÅÍ
Æ÷ÀÎÅÍ º¯¼ö¸¦ ¼±¾ðÇÒ ¶§ * ¾Õ¿¡´Â ÀÚ·áÇüÀ» Á¤ÇØÁشٰí Çß½À´Ï´Ù. ¸¸¾à ´Ù
À½°ú °°ÀÌ »ç¿ëÇÑ´Ù¸é ¾î¶»°Ô µÉ±î¿ä?
int ih = 0x1234;
void *vc = (void *)&ih;
¹°·Ð ¾Æ¹«·± ¿¡·¯µµ ³ªÁö ¾Ê½À´Ï´Ù. vcµµ Æ÷ÀÎÅÍ º¯¼öÀ̹ǷΠ´ç¿¬ÇÏ°Ôµµ ih
º¯¼öÀÇ Æ÷ÀÎÅ͸¦ ÀúÀåÇÒ ¼ö°¡ ÀÖ´Â °ÍÀÔ´Ï´Ù. ´ÙÀ½Àº ¾î¶³±î¿ä.
*vc = 0x5678;
ÀÌ Äڵ嵵 ¿¡·¯°¡ ³ªÁö ¾ÊÀ»±î¿ä? Á¶±Ý¸¸ »ý°¢ÇØ º¸¸é ¾Ë ¼ö ÀÖÁö¿ä. ´ç¿¬
È÷ ¿¡·¯°¡ ¹ß»ý ÇÕ´Ï´Ù. voidÇüÀº Å©±â¸¦ °®Áö ¾Ê±â ¶§¹®¿¡ ¾ó¸¶¸¸ÇÑ Å©±â ¸¸
ÅÀÇ ¸Þ¸ð¸®¿¡ °ªÀ» ³Ö¾î¾ß ÇÒÁö¸¦ ¸ð¸£´Â °ÅÁö¿ä. ´ÙÀ½°ú °°ÀÌ »ç¿ëÇÏ¸é µÇ
°ÚÁö¿ä.
*(int *)vc = 0x5678;
ÀÌ·¸µí voidÇü Æ÷ÀÎÅÍ´Â ¾î¶² Æ÷ÀÎÅÍ °ªµµ °¡Áú ¼ö ÀÖÁö¸¸, Á÷Á¢ÀûÀ¸·Î Âü
Á¶¸¦ ÇÒ ¼ö´Â ¾ø°í ¹Ýµå½Ã ij½ºÆÃÀ» ÇØ ÁÖ¾î¾ß ÇÏ´Â Æ÷ÀÎÅÍ ÀÔ´Ï´Ù. º°·Î »ç
¿ëµÉ °÷ÀÌ ¾ø¾î º¸À̱⵵ ÇÏÁö¸¸ ³ªÁß¿¡ ÇÁ·Î±×·¡¹ÖÀ» ÇÏ´Ùº¸¸é ÀÇ¿Ü·Î ¾²ÀÌ
´Â °÷ÀÌ ¸¹±âµµ ÇÏÁö¿ä.
¢Ä ÂüÁ¶¿¡ ÀÇÇÑ È£Ãâ (ÂüÁ¶ È£Ãâ, Call by reference)
¿ì¼± Call by value¸¦ ¾Ë¾Æ º¾½Ã´Ù. ¿ì¸®°¡ ÀϹÝÀûÀ¸·Î »ç¿ëÇÏ´Â ÇÔ¼ö È£Ãâ
¹æ¹ýÀ̶ó°í µé¾úÁö¿ä? ´ÙÀ½À» º¾½Ã´Ù.
int i = 3;
printf("%d", 3); //¡¦¨ç
printf("%d", i); //¡¦¨è
¨ç°ú ¨è´Â ¾î¶»°Ô ´Ù¸¦±î¿ä? ¿ì¸®°¡ º¸±â¿¡´Â Á» ´Þ¶ó º¸ÀÌÁö¸¸, ÄÄÆÄÀÏ·¯
°¡ ÄÄÆÄÀÏÀ» ¸¶Ä£ ÀÌÈÄ¿¡´Â ¿ÏÀüÈ÷ µ¿ÀÏÇÑ Äڵ尡 µË´Ï´Ù. ´Ù½Ã ¸»Çؼ ¨è¹ø
ÀÇ °æ¿ì i ´ë½Å¿¡ i°¡ °¡Áø °ªÀÎ 3À» ´ëÄ¡½ÃÄѼ ³Ñ°ÜÁشٴ °ÍÀÌÁö¿ä. ¹Ù·Î
ÀÌ°ÍÀÌ Call by value ÀÔ´Ï´Ù. º¯¼ö°¡ ³Ñ¾î°¡´Â °ÍÀÌ ¾Æ´Ñ º¯¼ö°¡ °¡Áö°í ÀÖ
´Â ¡¸°ª¡¹ÀÌ ³Ñ¾î°¡±â ¶§¹®ÀÌÁö¿ä.
±×·¸´Ù¸é Call by reference´Â ¹«¾ùÀϱî¿ä? Call by value¿Í ºñ±³ÇØ »ý°¢ÇØ
º¾½Ã´Ù. (ÀÌ ¿¹Á¦ ¶Ç ¾²°Ô µÇ³×¿ä¡¦ ==;)
void swapA(int a1, int a2) {
int ta;
ta = a1;
a1 = a2;
a2 = ta;
}
void swapB(int *b1, int *b2) {
int tb;
tb = *b1;
*b1 = *b2;
*b2 = tb;
}
ÈçÈ÷ º¸´ø ÇÔ¼öÁö¿ä? ÀÌ ÇÔ¼ö´Â ´ÙÀ½°ú °°ÀÌ »ç¿ëÇÕ´Ï´Ù.
int i = 3, j = 4;
swapA(i, j); //¡¦¨é
swapB(&i, &j); //¡¦¨ê
ÀÌÈÄÀÇ °á°ú´Â ¾Æ½Ã´Ù½ÃÇÇ i¿Í j°ªÀÌ ¹Ù²î¾î ÀÖ°ÚÁö¿ä. (swapB ÇÔ¼ö¸¸ Á¦´ë
·Î µ¿ÀÛÇϴϱî¿ä) ±×·³ ³»ºÎÀûÀ¸·Î ¾î¶² °úÁ¤À» ÅëÇϱ淡 ÀÌ·± °ÍÀÌ °¡´ÉÇÒ±î
¿ä? ±×¸²À» º¸µµ·Ï ÇÏÁö¿ä. (±×¸² Å©±âÀÇ ÇÑ°è»ó Æ÷ÀÎÅÍ¿Í intÇüÀÇ Å©±â¸¦ ¸ð
µÎ 1À̶ó°í ÇÏ°Ú½À´Ï´Ù)
¦®¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¯
¦¨é-1 Ãʱ⠻óÅ (i, j ¼±¾ð°ú Á¤ÀÇ) ¦
¦¦®¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¯¦
¦¦ÁÖ¼Ò 28 29 30 31 32 33 79 80 81 82 ¦¦
¦¦ ¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬ ¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬ ¦¦
¦¦ °ª ¡¦¦ ¦ ¦ 3¦ 4¦ ¦ ¦¡¦ ¡¦¦ ¦ ¦ ¦ ¦¡¦ ¦¦
¦¦ ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬ ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬ ¦¦
¦¦À̸§ i j ¦¦
¦¦±¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦°¦
¦ ¦
¦¨é-2 [swapA(i, j)] = [swapA(3, 4)] ¦
¦¦®¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¯¦
¦¦ÁÖ¼Ò 28 29 30 31 32 33 79 80 81 82 ¦¦
¦¦ ¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬ ¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬ ¦¦
¦¦ °ª ¡¦¦ ¦ ¦ 3¦ 4¦ ¦ ¦¡¦ ¡¦¦ ¦ 3¦ 4¦ ¦¡¦ ¦¦
¦¦ ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬ ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬ ¦¦
¦¦À̸§ i j a1 a2 ¦¦
¦¦±¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦°¦
¦ ¦
¦¨é-3 [int ta = a1] = [int ta = 3] ¦
¦¦®¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¯¦
¦¦ÁÖ¼Ò 28 29 30 31 32 33 79 80 81 82 ¦¦
¦¦ ¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬ ¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬ ¦¦
¦¦ °ª ¡¦¦ ¦ ¦ 3¦ 4¦ ¦ ¦¡¦ ¡¦¦ ¦ 3¦ 4¦ 3¦¡¦ ¦¦
¦¦ ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬ ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬ ¦¦
¦¦À̸§ i j a1 a2 ta ¦¦
¦¦±¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦°¦
¦ ¦
¦¨é-4 [a1 = a2] = [a1 = 4] ¦
¦¦®¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¯¦
¦¦ÁÖ¼Ò 28 29 30 31 32 33 79 80 81 82 ¦¦
¦¦ ¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬ ¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬ ¦¦
¦¦ °ª ¡¦¦ ¦ ¦ 3¦ 4¦ ¦ ¦¡¦ ¡¦¦ ¦ 4¦ 4¦ 3¦¡¦ ¦¦
¦¦ ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬ ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬ ¦¦
¦¦À̸§ i j a1 a2 ta ¦¦
¦¦±¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦°¦
¦ ¦
¦¨é-5 [a2 = ta] = [a2 = 3] ¦
¦¦®¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¯¦
¦¦ÁÖ¼Ò 28 29 30 31 32 33 79 80 81 82 ¦¦
¦¦ ¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬ ¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬ ¦¦
¦¦ °ª ¡¦¦ ¦ ¦ 3¦ 4¦ ¦ ¦¡¦ ¡¦¦ ¦ 4¦ 3¦ 3¦¡¦ ¦¦
¦¦ ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬ ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬ ¦¦
¦¦À̸§ i j a1 a2 ta ¦¦
¦¦±¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦°¦
¦ ¦
¦¨é-6 swapA ÇÔ¼ö Á¾·á (swapAÀÇ º¯¼ö°¡ ¾ø¾îÁü) ¦
¦¦®¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¯¦
¦¦ÁÖ¼Ò 28 29 30 31 32 33 79 80 81 82 ¦¦
¦¦ ¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬ ¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬ ¦¦
¦¦ °ª ¡¦¦ ¦ ¦ 3¦ 4¦ ¦ ¦¡¦ ¡¦¦ ¦ 4¦ 3¦ 3¦¡¦ ¦¦
¦¦ ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬ ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬ ¦¦
¦¦À̸§ i j ¦¦
¦¦±¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦°¦
¦±¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦°
°á±¹ ÀÌ ÇÔ¼ö´Â swapAÀÇ µÎ°³ÀÇ ÀÎÀÚÀÇ °ª¸¸ ¹Ù²ãÁÖ´Â ¿ªÇÒÀ» ÇßÁö È£ÃâÇÑ
ÂÊÀÇ i, j º¯¼öÀÇ °ªÀ» ¹Ù²ÙÁö´Â ¸øÇß½À´Ï´Ù. (º¯¼ö°¡ ¾ø¾îÁø´Ù´Â °ÍÀº À̸§
ÀÌ ¾ø¾îÁø´Ù´Â °ÍÀ» ¸»ÇÕ´Ï´Ù. ÇØ´ç ¸Þ¸ð¸®ÀÇ °ªÀÌ 0À¸·Î µÇ°Å³ª ÇÏ´Â °ÍÀº
¾Æ´Õ´Ï´Ù) ±×·³ swapB ÇÔ¼ö¸¦ º¸µµ·Ï ÇÏÁö¿ä.
¦®¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¯
¦¨ê-1 Ãʱ⠻óÅ (i, j ¼±¾ð°ú Á¤ÀÇ) ¦
¦¦®¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¯¦
¦¦ÁÖ¼Ò 28 29 30 31 32 33 79 80 81 82 ¦¦
¦¦ ¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬ ¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬ ¦¦
¦¦ °ª ¡¦¦ ¦ ¦ 3¦ 4¦ ¦ ¦¡¦ ¡¦¦ ¦ ¦ ¦ ¦¡¦ ¦¦
¦¦ ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬ ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬ ¦¦
¦¦À̸§ i j ¦¦
¦¦±¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦°¦
¦ ¦
¦¨ê-2 [swapB(&i, &j)] = [swapB(30, 31)] ¦
¦¦®¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¯¦
¦¦ÁÖ¼Ò 28 29 30 31 32 33 79 80 81 82 ¦¦
¦¦ ¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬ ¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬ ¦¦
¦¦ °ª ¡¦¦ ¦ ¦ 3¦ 4¦ ¦ ¦¡¦ ¡¦¦ ¦30¦31¦ ¦¡¦ ¦¦
¦¦ ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬ ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬ ¦¦
¦¦À̸§ i j b1 b2 ¦¦
¦¦±¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦°¦
¦ ¦
¦¨ê-3 [int tb = *b1] = [int tb = *30] = [ing tb = i] = [int tb = 3] ¦
¦¦®¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¯¦
¦¦ÁÖ¼Ò 28 29 30 31 32 33 79 80 81 82 ¦¦
¦¦ ¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬ ¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬ ¦¦
¦¦ °ª ¡¦¦ ¦ ¦ 3¦ 4¦ ¦ ¦¡¦ ¡¦¦ ¦30¦31¦ 3¦¡¦ ¦¦
¦¦ ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬ ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬ ¦¦
¦¦À̸§ i j b1 b2 tb ¦¦
¦¦±¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦°¦
¦ ¦
¦¨ê-4 [*b1 = *b2] = [*30 = *31] = [i = j] = [i = 4] ¦
¦¦®¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¯¦
¦¦ÁÖ¼Ò 28 29 30 31 32 33 79 80 81 82 ¦¦
¦¦ ¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬ ¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬ ¦¦
¦¦ °ª ¡¦¦ ¦ ¦ 4¦ 4¦ ¦ ¦¡¦ ¡¦¦ ¦30¦31¦ 3¦¡¦ ¦¦
¦¦ ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬ ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬ ¦¦
¦¦À̸§ i j b1 b2 tb ¦¦
¦¦±¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦°¦
¦ ¦
¦¨ê-5 [*b2 = tb] = [*31 = tb] = [j = tb] = [j = 3] ¦
¦¦®¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¯¦
¦¦ÁÖ¼Ò 28 29 30 31 32 33 79 80 81 82 ¦¦
¦¦ ¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬ ¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬ ¦¦
¦¦ °ª ¡¦¦ ¦ ¦ 4¦ 3¦ ¦ ¦¡¦ ¡¦¦ ¦30¦31¦ 3¦¡¦ ¦¦
¦¦ ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬ ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬ ¦¦
¦¦À̸§ i j b1 b2 tb ¦¦
¦¦±¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦°¦
¦ ¦
¦¨ê-6 swapB ÇÔ¼ö Á¾·á (swapBÀÇ º¯¼ö°¡ ¾ø¾îÁü) ¦
¦¦®¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¯¦
¦¦ÁÖ¼Ò 28 29 30 31 32 33 79 80 81 82 ¦¦
¦¦ ¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬ ¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬ ¦¦
¦¦ °ª ¡¦¦ ¦ ¦ 4¦ 3¦ ¦ ¦¡¦ ¡¦¦ ¦30¦31¦ 3¦¡¦ ¦¦
¦¦ ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬ ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬ ¦¦
¦¦À̸§ i j ¦¦
¦¦±¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦°¦
¦±¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦°
¾Æ½Ã°ÚÁö¿ä? b1, b2 Æ÷ÀÎÅ͸¦ »ç¿ëÇØ i, jÀÇ °ªÀ» Á÷Á¢ ¹Ù²Ù´Â °á°ú°¡ ³ªÅ¸
³µ½À´Ï´Ù. ´ÙÀ½À» Çѹø º¼±î¿ä.
void swapC(long c1, long c2) {
int temp;
temp = *(int *)c1;
*(int *)c1 = *(int *)c2;
*(int *)c2 = temp;
}
¾î¶² »ý°¢ÀÌ µå¼¼¿ä? swapB ÇÔ¼ö¿Í ÀÌ ÇÔ¼ö°¡ ´Ù¸¦±î¿ä? °°À»±î¿ä? ÀÌ¹Ì ¿¹
»óÀ» Çϼ̰ÚÁö¸¸(°°Àº°Å´Ï±î ¹°¾îº¸°ÚÁÒ? ^^) ¿ÏÀüÈ÷ µ¿ÀÏÇÑ °á°ú¸¦ ³ªÅ¸³À´Ï
´Ù.
¾î¶»°Ô ÀÌ·¸°Ô »ç¿ëÀÌ °¡´ÉÇÒ±î¿ä? swapB ÇÔ¼ö¿¡¼ °¡Àå Áß¿äÇÑ ºÎºÐÀÌ ¹º
Áö ¾Æ¼¼¿ä? Àμö·Î Æ÷ÀÎÅ͸¦ ¹Þ´Â´Ù°í¿ä? ¾Æ´Õ´Ï´Ù. ÀμöÀÇ Å¸ÀÔÀº Æ÷ÀÎÅÍÀÌ
µç ¾Æ´Ïµç °£¿¡ 4¹ÙÀÌÆ®ÀÇ ¸Þ¸ð¸®¸¦ °¡Áú ¼ö ÀÖ´Â Å©±â¶ó¸é ¹¹µçÁö °¡´É ÇÕ´Ï
´Ù. intÇüÀÌ 4¹ÙÀÌÆ®ÀÎ ÄÄÇ»ÅÍ¿¡¼´Â longÀÌ ¾Æ´Ñ intÇüµµ °¡´ÉÇÏ´Ù´Â °ÍÀÌÁö
¿ä. °¡Àå Áß¿äÇÑ ºÎºÐÀº ¹Ù·Î Àμö·Î ¹ÞÀº µÎ °ªÀ» ÂüÁ¶ÇÒ ¶§ *¿¬»êÀÚ¸¦ »ç¿ë
ÇÑ´Ù´Â °Ì´Ï´Ù. »ç½Ç»ó º¯¼ö ¼±¾ð½Ã¿¡ ¾²ÀÌ´Â *´Â ±×·¸°Ô Å« Àǹ̰¡ ¾ø´Ù´Â
°ÅÁö¿ä. ¶§¹®¿¡ void *ÇüÀº longÇü°ú µ¿ÀÏÇÏ´Ù°í »ý°¢Çϼŵµ µË´Ï´Ù. Æ÷ÀÎÅÍ
°ªÀ» °¡Áú¼ö´Â ÀÖÁö¸¸ ij½ºÆà ¾øÀÌ´Â ÂüÁ¶°¡ ºÒ°¡´ÉÇÑ¡¦ ¾Æ¼ÌÁÒ? (Æ÷ÀÎÅÍ´Â
4¹ÙÀÌÆ® Å©±âÀÇ »ó¼ö¶ó´Â °Í¸¸ È®½ÇÈ÷ ¾Æ½Å´Ù¸é ¾î·Á¿ï°Ô ¾øÁö¿ä)
ÀÌ·¸°Ô ÀÎÀÚ·Î ¹ÞÀº µÎ °ªÀ» ÂüÁ¶ÇÒ ¶§´Â ±×°É Æ÷ÀÎÅÍ·Î °¡Á¤ÇÏ°í ±× Å©±â
¸¦ Á¤ÇØÁÖ±â À§Çؼ int *ÇüÀ¸·Î ij½ºÆÃÀ» ÇÏÁö¿ä. ÀÌ·¸°Ô ij½ºÆÃµÈ Æ÷ÀÎÅÍ
»ó¼ö¿¡¼ºÎÅÍ °ªÀ» ÂüÁ¶ÇÏ´Â *¿¬»êÀÚ°¡ ÀÌ ÇÔ¼öÀÇ ÇÙ½ÉÀÌÁö¿ä.
±×¸®°í ¨ê-2¸¦ º¸¸é swapB(&i, &j)°¡ swapB(30, 31)·Î ¹Ù²ï´Ù°í ³ª¿Í ÀÖÁö
¿ä. ±×·¸½À´Ï´Ù. ÀÌ°ÍÀÌ ¹Ù·Î Call by referenceÀÌÁö¸¸ À̰͵µ »ç½Ç»óÀº Æ÷ÀÎ
ÅÍÀÇ °ª(!)¸¸À» ³Ñ°ÜÁÖ´Â Call by valueÀÎ °ÍÀÌÁö¿ä.
¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬
¢Ä ù¹ø° ½ºÅ͵𰡠³¡³µ½À´Ï´Ù. ´ÙÀ½ ½ºÅ͵𸦠±â´ëÇØ ÁÖ¼¼¿ä. ÀÌÇØ°¡ ¾È µÇ
½Ã´Â ³»¿ëÀ̳ª ±Ã±ÝÇÑ »çÇ×À̳ª ÇÏ¿©Æ° ¾Æ¹« ¸»ÀÌ¶óµµ ÇÏ°í ½ÍÀ¸½Ã¸é ¾ðÁ¦
¶óµµ ¸ÞÀÏ ÁÖ¼¼¿ä. ´ÙÀ½ ½Ã°£¿¡´Â ¸»¾¸µå¸°´ë·Î ¹®ÀÚ¿°ú Æ÷ÀÎÅÍ¿¡ ´ëÇؼ
ÇÏ°Ú½À´Ï´Ù. °ð C++ ½ºÅ͵𵵠ÇÒ±î ÇÕ´Ï´Ù¡¦
¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬
¡ºÇÁ·Î±×·¡¹Ö ¾ð¾î °ÁÂ-C,C++,VC °Á (go PROG)¡» 1587¹ø
Á¦ ¸ñ:[°ÁÂ] Æ÷ÀÎÅÍ ½ºÅ͵ð [2/8] -½Å°æÈ£
¿Ã¸°ÀÌ:ÆÄÀÌ»ç¶û(½Å°æÈ£ ) 00/01/26 23:57 ÀÐÀ½:229 °ü·ÃÀÚ·á ¾øÀ½
-----------------------------------------------------------------------------
¡º¹è¿òÅÍ-°Á (go SSCS)¡» 27¹ø
Á¦ ¸ñ:[°ÁÂ] Æ÷ÀÎÅÍ ½ºÅ͵ð [2/8] -½Å°æÈ£
¿Ã¸°ÀÌ:ÆÄÀÌ»ç¶û(½Å°æÈ£ ) 00/01/23 23:35 ÀÐÀ½: 3 °ü·ÃÀÚ·á ¾øÀ½
-----------------------------------------------------------------------------
¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬
¡á 2. ¹è¿°ú Æ÷ÀÎÅÍ ¡á
¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬
¢Ä C¿¡¼ÀÇ ¹®ÀÚ¿
C¿¡¼ ¹®ÀÚ¿Àº Æ÷ÀÎÅ͸¦ »ç¿ëÇؼ ±¸ÇöµÈ´Ù´Â °ÍÀº ´Ù ¾Æ½Ç°Ì´Ï´Ù. Á¤¸»·Î
±×·±Áö Çѹø »ìÆ캸µµ·Ï ÇÏÁö¿ä. ´ÙÀ½ ¹®ÀåÀ» º¸¼¼¿ä.
char *sp = "Love";
¦®¦¬¦¬¦³¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¯
¦ÁÖ¼Ò¦ 41 42 43 44 45 46 5A 5B 5C 5D 5E ¦
¦ ¦ ¦³¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬¦¬¦¬¦¬¦¬¦¬¦³¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦³¦¬¦³ ¦
¦ °ª ¦ ¦ ¦L ¦o ¦v ¦e ¦\0¦ ¡¦ ¦42¦00¦00¦00¦ ¦ ¦
¦ ¦ ¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦¬¦¬¦¬¦¬¦¬¦µ¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦µ¦¬¦µ ¦
¦À̸§¦ sp ¦
¦±¦¬¦¬¦µ¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦°
Á¦°¡ Ç×»ó Æ÷ÀÎÅ͸¦ ±× Æ÷ÀÎÅÍ°¡ °¡¸®Å°´Â ¸Þ¸ð¸® ¿µ¿ªº¸´Ù µÚ¿¡ ±×¸®´Âµ¥
¹Ýµå½Ã ±×·±°Ç ¾Æ´Õ´Ï´Ù. Æ÷ÀÎÅÍ º¯¼öµµ ¿ª½Ã º¯¼öÀ̱⠶§¹®¿¡ ÄÄÆÄÀÏ·¯°¡ ¾Ë
¾Æ¼ ºñ¾îÀÖ´Â °÷¿¡ ¸Þ¸ð¸®¸¦ ÇÒ´çÇÏ´Â °ÍÀÌÁö¿ä.
À§ÀÇ ¿¹Á¦¸¦ º¸¸é ±× µ¿¾ÈÀÇ ¿¹Á¦¿Í´Â ´Ù¸£°Ô "Love"ÀÇ Ã¹ ºÎºÐ¿¡ µû·Î ÀÌ
¸§ÀÌ ºÙ¾îÀÖÁö ¾ÊÁö¿ä? ¹Ù·Î ±×·¸½À´Ï´Ù. C¿¡¼´Â ¹®ÀÚ¿ ÀÚü¿¡ À̸§À» ºÙÀÏ
¼ö´Â ¾ø´Â °ÅÁö¿ä. ±× Æ÷ÀÎÅ͸¦ ÅëÇؼ¸¸ ÂüÁ¶°¡ °¡´ÉÇÑ °Ì´Ï´Ù. ´Ù½Ã ¸»¾¸µå
·Á¼ C¿¡¼ÀÇ ¹®ÀÚ¿Àº Æ÷ÀÎÅÍ°¡ ÀüºÎ¶ó´Â ¾ê±é´Ï´Ù. ±×·¯´Ï±î ¹®ÀÚ¿ÀÇ ±æÀÌ
µµ ÀϹÝÀûÀÎ ¹æ¹ýÀ¸·Î´Â ¾Ë¾Æ³¾ ¼ö°¡ ¾øÁö¿ä. µû·Î ±æÀ̸¦ ÀúÀåÇÏ´Â °ø°£ÀÌ
¾øÀ¸´Ï±î¿ä.
±×·¡¼ C¿¡¼ »ç¿ëÇÏ´Â ¹æ¹ýÀÌ ¹Ù·Î ¹®ÀÚ¿ ³¡¿¡ 0À̶ó´Â °ªÀ» ³Ö¾îÁÖ´Â °Í
ÀÔ´Ï´Ù. ¿©±â¼ 0À̶õ °ÍÀº Äڵ尪ÀÌÁö ¹®ÀڷΠǥÇöµÇ´Â '0'ÀÌ ¾Æ´Õ´Ï´Ù. µÑ
ÀÌ ¾î¶»°Ô ´Ù¸¥°ÇÁö´Â ¾Æ½Ã°ÚÁö¿ä? (¹®ÀÚ '0'ÀÇ ÄÚµå´Â 0x30 ÀÔ´Ï´Ù, 10Áø¼ö
·Î´Â 48ÀÌÁö¿ä)
°á±¹ ¹®ÀÚ¿ Áß°£¿¡ 0À̶ó´Â Äڵ带 °¡Áö´Â ¹®ÀÚ´Â ³ÖÀ» ¼ö ¾ø°Ô µÇ°ÚÁö¿ä?
±×·¯³ª °ÆÁ¤ÇÒ °Í ¾ø½À´Ï´Ù. ÄÚµå 0Àº »ç¿ëµÇÁö ¾Ê´Â ¹®ÀÚÀ̱⠶§¹®ÀÌÁö¿ä.
±×·³ ÀÌ ¹®ÀÚ¿À» ¾î¶»°Ô ´Ù·çÁö¿ä?
puts(sp);
ÀÌ·¸°ÔÇÏ¸é ¹®ÀÚ¿À» Ãâ·ÂÇÏ´Â°Ô µÇÁö¿ä? ±×·±µ¥ ÀÌ»óÇÑ Á¡ÀÌ ÀÖÁö¿ä. ¿©ÅÂ
±îÁö´Â Æ÷ÀÎÅÍ°¡ °¡¸®Å°´Â ³»¿ëÀ» Ãâ·ÂÇÒ·Á¸é *¿¬»êÀÚ¸¦ ºÙ¿©¾ß Çß¾ú´Âµ¥ ¿©
±â¼´Â ±×·¯Áú ¾Ê³×¿ä. ¿Ö ±×·²±î¿ä? ±×³É ´ç¿¬È÷ ±×·±°Å´Ù »ý°¢ÇϽóª¿ä? ^^
±×·¸Áö´Â ¾ÊÁö¿ä. »ç½Ç»óÀº puts ÇÔ¼ö ¾È¿¡¼ ÀÎÀÚ·Î ¹ÞÀº Æ÷ÀÎÅÍ¿¡ *¸¦ ºÙ
¿©¼ ³»ºÎÀûÀ¸·Î ÇÑ ¹®ÀÚ¾¿ Ãâ·ÂÇϱ⠶§¹®ÀÌÁö¿ä. ¹®ÀÚ¿À» ´Ù·ç´Â ÇÔ¼öµéÀÌ
³»ºÎÀûÀ¸·Î ¾î¶² °úÁ¤À» °ÅÄ¡´ÂÁö´Â Àá½Ã ÈÄ¿¡ ¾Ë¾Æº¸±â·Î ÇսôÙ.
¢Ä ¹®ÀÚ¿°ú ¹è¿
¾Æ½Ã´Ù½ÃÇÇ ¹è¿°ú Æ÷ÀÎÅÍ´Â ¸Å¿ì °¡±î¿î °ü°è ÀÔ´Ï´Ù. ±×·¯´Ï ´ç¿¬È÷ ¹è¿
°ú ¹®ÀÚ¿µµ ¹ÐÁ¢ÇÑ °ü°è¸¦ °¡Áö°í ÀÖ°ÚÁö¿ä. ¿ì¸®´Â ¹è¿ÀÇ ÂüÁ¶ ¿¬»êÀÚÀÎ
[]¸¦ »ç¿ëÇؼ ¹®ÀÚ¿¿¡µµ Á¢±Ù ÇÒ ¼ö ÀÖ¾ú½À´Ï´Ù.
sp[0]Àº 'L'ÀÌ°í sp[1]Àº 'o'°ÚÁö¿ä. ÀÌ Á¤µµ´Â ¾Æ½Ã¸®¶ó ¹Ï°í¡¦
¢Ä ¹®ÀÚ¿ ÇÔ¼ö
puts ÇÔ¼ö°¡ ¾î¶² ¹æ¹ýÀ¸·Î ±¸ÇöµÇ´ÂÁö º¼±î¿ä? ÀÏ´Ü strlen ÇÔ¼öºÎÅÍ º¸µµ
·Ï ÇսôÙ.
int my_strlen(const char *ptr) {
int len;
for (len = 0; ptr[len] != '\0'; len++);
return len;
}
for¹®ÀÇ ±¸¹®ÀÌ Á» ƯÀÌÇØ º¸À̱â´Â ÇÏÁö¸¸ ÀüÇô ´Ù¸¦°Ç ¾ø½À´Ï´Ù. const
´Â ¸ð¸¥´Ù¸é ´çÀå ½Å°æ¾²Áö ¾ÊÀ¸¼Åµµ µÇ°í(ÀÖÀ¸³ª ¸¶³ª¶ó°í ¾Ë°í °è¼¼¿ä), ½Ç
Á¦·Î ±¸ÇöµÈ ºÎºÐÀÎ for¹®À» º¾½Ã´Ù. for¹®ÀÇ Çü½ÄÀº ´ÙÀ½°ú °°Áö¿ä.
for (ÃʱⰪ; Áö¼ÓÁ¶°Ç; °ªº¯È)
Áö¼ÓÁ¶°ÇÀÌ ptr[len] != '\0'ÀÌÁö¿ä. ÈçÈ÷ for (i = 0; i < 3; i++)¡¦ ÀÌ·±
ÇüÅ·θ¸ »ç¿ëÇØ ¿Í¼ ÃʱⰪ°ú Áö¼ÓÁ¶°Ç, °ªº¯È¿¡ »ç¿ëµÇ´Â º¯¼ö°¡ ¸ðµÎ µ¿
ÀÏÇØ¾ß ÇÑ´Ù°í »ý°¢ÇϽÇÁöµµ ¸ð¸£°Ú´Âµ¥, ±×·¸Áö ¾Ê½À´Ï´Ù. ¸ðµÎ ´Ù¸¥ º¯¼ö°¡
»ç¿ëµÇµµ µÇÁö¿ä.
Áö¼ÓÁ¶°ÇÀ» º¸¸é, "ptrÀÇ len¹ø° ¿ä¼Ò°¡ '\0'ÀÌ ¾Æ´Ñ µ¿¾È"ÀÌ µË´Ï´Ù. ´Ù
½Ã¸»ÇØ ptrÀÇ len¹ø° ¿ä¼Ò°¡ '\0'À϶§ ³¡³ª°Ô µÇ´Â °ÍÀÌÁö¿ä. ±×¸²À» º¸´Â°Ô
ÁÁ°Ú³×¿ä.
¦®¦¬¦¬¦³¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¯
¦ÁÖ¼Ò¦ 41 42 43 44 45 46 5A 5B 5C 5D 5E ¦
¦ ¦ ¦³¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬¦¬¦¬¦¬¦¬¦¬¦³¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦³¦¬¦³ ¦
¦ °ª ¦ ¦ ¦L ¦o ¦v ¦e ¦\0¦ ¡¦ ¦42¦00¦00¦00¦ ¦ ¦
¦ ¦ ¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦¬¦¬¦¬¦¬¦¬¦µ¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦µ¦¬¦µ ¦
¦len ¦ 0 1 2 3 4 ptr ¦
¦±¦¬¦¬¦µ¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦°
lenÀÌ 4À϶§ÀÇ ptr°ªÀÌ '\0'ÀÌ µÇÁö¿ä? ¹®ÀÚ¿ÀÇ ±æÀÌ¿¡´Â '\0'ÀÌ Æ÷ÇÔµÇÁö
¾Ê±â ¶§¹®¿¡ ±×¶§ÀÇ len°ªÀÌ ¹Ù·Î ¹®ÀÚ¿ ±æÀÌ°¡ µÇ´Â °ÍÀÌÁö¿ä. ±×·±µ¥ Çѹø
º¸¼¼¿ä. my_strlen ÇÔ¼öµµ ºÐ¸í ¹®ÀÚ¿À» ´Ù·ç´Â ÇÔ¼ö ÀÔ´Ï´Ù. ¹®ÀÚ¿À» ´Ù·ç
´Â ÇÔ¼ö´Â ³»ºÎ¿¡¼ ¾Ë¾Æ¼ *¸¦ ºÙ¿©¼ »ç¿ëÇÑ´Ù°í Çߴµ¥, ´«À» ¾Ä°í ã¾ÆºÁ
µµ *¿¬»êÀÚ´Â º¸ÀÌÁú ¾ÊÁö¿ä? ³×. ¹Ù·Î ±×·¸½À´Ï´Ù. ¹Ù·Î À§¿¡¼ ¸»¾¸µå¸° []
¿¬»êÀÚ°¡ *¿¬»êÀÚ¸¦ ´ë½ÅÇÏ°í ÀÖ´Â °ÍÀÌÁö¿ä. []¿¬»êÀÚ¿Í *¿¬»êÀÚÀÇ °ü°è´Â
Á¶±Ý ÈÄ¿¡ ´Ù·ç±â·Î ÇÏ°í puts ÇÔ¼ö¸¦ º¸µµ·Ï ÇÏÁö¿ä.
void my_puts(const char *ptr) {
int i, len = my_strlen(ptr);
for (i = 0; i < len; i++) putch(ptr[i]);
putch('\n');
}
my_strlenÀÇ °á°ú °ªÀÌ 4À̴ϱî for ·çÇÁ´Â i°¡ 0À϶§ºÎÅÍ 3À϶§±îÁö ȸÀü
À» ÇÏ°ÚÁö¿ä. ±×¸®°í ¿ª½Ã ¿©±â¿¡¼µµ []¿¬»êÀÚ¸¦ »ç¿ëÇØ ÇØ´ç À§Ä¡ÀÇ ¹®ÀÚ¸¦
Àо putch(ÇÑ ¹®ÀÚ¸¦ Ãâ·ÂÇÏ´Â ÇÔ¼ö ÀÔ´Ï´Ù)·Î Ãâ·ÂÀ» ÇÕ´Ï´Ù. ÀÌÁ¦ ¿ì¸®
°¡ ¹®ÀÚ¿À» ´Ù·ç´Â ÇÔ¼ö¿¡ ¹®ÀÚ¿À» ³Ñ°ÜÁÙ¶§ ¿Ö *¿¬»êÀÚ¸¦ »ç¿ëÇÏÁö ¾Ê¾Æµµ
µÇ´ÂÁö ¾Æ½Ã°ÚÁö¿ä?
¢Ä ¹è¿°ú Æ÷ÀÎÅÍ
¿©Å±îÁö´Â ¹®ÀÚ¿¸¸À» ´Ù·ð½À´Ï´Ù. ¹®ÀÚ¿À» ¹è¿°ú ¶È°°ÀÌ »ç¿ëÀ» Çß¾úÁö
¿ä? ±×·±µ¥ ¹®ÀÚ¿ÀÌ ÀϹÝÀûÀÎ ¹è¿¿¡ Ãß°¡Çؼ °¡Áø ¼Ó¼ºÀÌ ÀÖ½À´Ï´Ù. ¹Ù·Î
°¢ ¹®ÀÚÀÇ Å©±â°¡ 1¹ÙÀÌÆ®¶ó´Â °ÍÀÌÁö¿ä. ´Ù½Ã ¸»Çؼ ¹®ÀÚ¿Àº °¢ ¿ä¼ÒÀÇ Å©
±â°¡ 1ÀÎ ¹è¿À̶ó°í »ý°¢Çϼŵµ µÈ´Ù´Â °ÍÀÌÁö¿ä. ±×·³ ¹®ÀÚ¿ÀÌ ¾Æ´Ñ Á¤¼ö
Çü ¹è¿À» º¸µµ·Ï ÇսôÙ.
int ar[3] = { 1, 2, 3 };
int *ap = ar;
¦®¦¬¦¬¦³¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¯
¦ÁÖ¼Ò¦ 41 42 43 44 45 46 5A 5B 5C 5D 5E ¦
¦ ¦ ¦³¦¬¦¬¦¬¦³¦¬¦¬¦¬¦³¦¬¦¬¦¬¦³¦¬¦¬¦¬¦¬¦¬¦¬¦³¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦³¦¬¦³ ¦
¦ °ª ¦ ¦01¦00¦02¦00¦03¦00¦ ¡¦ ¦41¦00¦00¦00¦ ¦ ¦
¦ ¦ ¦µ¦¬¦¬¦¬¦µ¦¬¦¬¦¬¦µ¦¬¦¬¦¬¦µ¦¬¦¬¦¬¦¬¦¬¦¬¦µ¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦µ¦¬¦µ ¦
¦À̸§¦ ar ap ¦
¦±¦¬¦¬¦µ¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦°
¾Æ½Ã´Ù½ÃÇÇ int ÀÚ·áÇüÀÇ Å©±â´Â 2¹ÙÀÌÆ®ÀÌÁö¿ä. ±×¸²À» º¸½Ã¸é arÀÇ °¢ ¿ä
¼Ò°¡ °¢°¢ 2¹ÙÀÌÆ®¾¿ Â÷ÁöÇÏ°í ÀÖ´Â °ÍÀ» ¾Ë ¼ö ÀÖ½À´Ï´Ù. ¿ª½Ã °ªÀÇ ¼ø¼´Â
¹ÙÀÌÆ® ´ÜÀ§·Î ¹Ù²¸¼ µé¾î°¡ ÀÖÁö¿ä? ±×·³ ÀÌ ¹è¿À» ´ëÇ¥ÇÏ´Â arÀº µµ´ëü
¹«¾ùÀϱî¿ä? Æ÷ÀÎÅÍÀϱî¿ä? ¾Æ´Õ´Ï´Ù. ¹®ÀÚ¿ ¹è¿°ú ´Ù¸£°Ô ÀÌ °ªÀº Æ÷ÀÎÅÍ
°¡ ¾Æ´Õ´Ï´Ù. ÀÌ°ÍÀÌ ¹è¿°ú Æ÷ÀÎÅÍÀÇ Â÷ÀÌÀä. ÀÌ arÀº ¹Ù·Î À̸§À» °¡Áø
Æ÷ÀÎÅÍ »ó¼ö ÀÔ´Ï´Ù. Æ÷ÀÎÅÍ º¯¼ö¿Í ´Ù ¶È°°Áö¸¸ ´ÜÁö º¯¼ö°¡ ¾Æ´Ï¹Ç·Î ¸Þ¸ð
¸®¿¡ Á¸ÀçÇÏÁö´Â ¾Ê´Â´Ù´Â °ÍÀÌÁö¿ä. ´ÙÀ½ ¿¹Á¦¸¦ ½ÇÇàÇØ º¸¼¼¿ä.
¦®¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¯
¦ void main(void) { ¦
¦ int ar[3] = { 1, 2, 3 }; ¦
¦ int *ap = ar; ¦
¦ ¦
¦ printf("%p %p\n", &ar, ar); ¦
¦ printf("%p %p\n", &ap, ap); ¦
¦ } ¦
¦²¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦´
¦ <°á°ú> ¦
¦ 0EF1:0FFA 0EF1:0FFA ¦
¦ 0EF1:0FF6 0EF1:0FFA ¦
¦±¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦°
Æ÷ÀÎÅÍ º¯¼ö ap´Â ±× °ªÀÎ ap¿Í ±× ÁÖ¼ÒÀÎ &ap°¡ ´Ù¸£Áö¿ä. ´ç¿¬È÷ ¸Þ¸ð¸®
¿¡ Á¸ÀçÇϴϱî¿ä. ±×·±µ¥ À§ÀÇ arÀ» º¸¼¼¿ä. ar¿Í &arÀÌ °°½À´Ï´Ù. (¹°·Ð ¼ý
ÀÚ´Â ½ÇÇàÇÒ ¶§ ¸¶´Ù ´Ù¸¦ ¼ö ÀÖ½À´Ï´Ù¸¸ °°°í ´Ù¸¥ °ÍÀº È®ÀÎÀÌ °¡´ÉÇÕ´Ï´Ù)
arÀº µû·Î ¸Þ¸ð¸®¿¡ Á¸ÀçÇÏ´Â º¯¼ö°¡ ¾Æ´Ñ ÄÄÆÄÀÏ·¯°¡ ³»ºÎ¿¡¼ ´Ù·ç´Â »ó¼ö
À̱⠶§¹®¿¡ ÁÖ¼Ò°¡ ¾ø´Â °ÍÀÌÁö¿ä. ¿ª½Ã ½Å±âÇÕ´Ï´Ù. ^^ (Àúµµ ¸»·Î¸¸ Çß¾ú
Áö ½ÇÁ¦·Î È®ÀÎÇØ º»°Ç óÀ½À̳׿ä) »ç½Ç»ó ¾²ÀÓ»õ¿¡ ´ëÇؼ´Â ap¿Í arÀº ¿Ï
ÀüÈ÷ µ¿ÀÏÇÏÁö¸¸ ³»ºÎÀûÀ¸·Î´Â ÀÌ·± Â÷ÀÌÁ¡ÀÌ ÀÖ¾ú³×¿ä.
long al[2] = { 1L, 2L };
longÀº 4¹ÙÀÌÆ®À̹ǷΠÀ̶§ÀÇ ¸Þ¸ð¸®´Â ´ÙÀ½°ú °°°ÚÁö¿ä.
¦®¦¬¦¬¦³¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¯
¦ÁÖ¼Ò¦ 41 42 43 44 45 46 47 48 ¦
¦ ¦ ¦³¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦³¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦³¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬ ¦
¦ °ª ¦ ¦01¦00¦00¦00¦02¦00¦00¦00¦ ¡¦ ¦
¦ ¦ ¦µ¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦µ¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦µ¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬ ¦
¦À̸§¦ al ¦
¦±¦¬¦¬¦µ¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦°
¢Ä ¹è¿À» ÀÎÀÚ·Î »ç¿ëÇϱâ
¹è¿ »ó¼ö´Â Æ÷ÀÎÅÍ »ó¼ö¿Í ´Þ¸® Å©±â¸¦ °®°í ÀÖ´Ù°í ÇßÁö¿ä. ±×·±µ¥ ÇÔ¼ö
·Î ¹è¿À» Àü´ÞÇϱâ À§Çؼ´Â Æ÷ÀÎÅÍ º¯¼ö¸¦ »ç¿ëÇÒ ¼ö ¹Û¿¡ ¾ø½À´Ï´Ù. ´ÙÀ½
°ú °°ÀÌ ¸»ÀÌÁö¿ä. (°ªÀ» ¹Þ´Â ÇÔ¼ö°¡ ±×°ÍÀÌ ¹è¿ÀÎÁö ¾Æ´ÑÁö ±¸ºÐÇÒ ¹æ¹ýÀÌ
¾ø´Ù´Â ¾ê±âµµ µÇÁö¿ä. ¹è¿À» ³Ñ°ÜÁÙ ¼ö´Â ¾øÀ¸´Ï±î¡¦)
void sort(int *ia);
±×·¸´Ù¸é ÀÌ ÇÔ¼ö¿¡¼´Â ia°¡ °¡¸®Å°´Â ¹è¿ÀÇ Å©±â°¡ ¾ó¸¶ÀÎÁö ¾Ë ¼ö ÀÖÀ»
±î¿ä? Æ÷ÀÎÅ͸¸À¸·Î´Â ÀüÇô ¾Ë ¹æµµ°¡ ¾ø½À´Ï´Ù. ±×·¡¼ µû·Î ¹è¿ÀÇ Å©±â°¡
¾ó¸¶ÀÎÁö¸¦ ³Ñ°ÜÁÖ¾î¾ß ÇÏÁö¿ä. ¶Ç´Â ¹è¿ÀÇ ³¡À» °¨ÁöÇÒ ¼ö ÀÖµµ·Ï ¹®ÀÚ¿À»
»ç¿ëÇÏ´Â °Íó·³ ³¡¿¡ ƯÁ¤ÇÑ °ªÀ» ³Ö¾îÁÖ´øÁö¿ä. ±×·±µ¥ ÀÌ °æ¿ì ¿ª½Ã ±× Ư
Á¤°ªÀº ¹è¿ Áß°£¿¡´Â »ç¿ëÇÒ ¼ö°¡ ¾ø±â ¶§¹®¿¡ Á¤¼öÇüÀ» ´Ù·ç´Â ÇÔ¼ö¶ó¸é ¹®
Á¦°¡ µÉ ¼ö ÀÖ°ÚÁö¿ä. ¸¸¾à ¾ç¼ö¸¸À» ´Ù·ç´Â ÇÔ¼ö¶ó¸é ¹è¿ÀÇ ¸Ç ³¡¿¡ -1À»
³Ö¾îÁشٰųª Çؼ ±¸ºÐÇÒ ¼öµµ ÀÖÀ» °Ì´Ï´Ù.
void sort(int *ia) {
int n = 0;
while (ia[n] != -1) { n++; }
}
void main(void) {
int a[6] = { 1, 2, 3, 4, 5, -1 };
sort(a);
}
ÀÌ·¸°Ô ¸»ÀÌÁö¿ä. ÇÏÁö¸¸ °¹¼öµµ ÇÔ²² ³Ñ°ÜÁÖ´Â °ÍÀÌ ÀϹÝÀû ÀÔ´Ï´Ù.
¢Ä Æ÷ÀÎÅÍ ¿¬»ê
À§¿¡¼ []¿¬»êÀÚ´Â *¿¬»êÀÚÀÇ ±â´ÉÀ» ´ë½ÅÇÒ ¼ö ÀÖ´Ù°í Çß½À´Ï´Ù. []¿¬»êÀÚ
¿Í *¿¬»êÀÚÀÇ °ü°è¸¦ ¾Ë¾Æº¸µµ·Ï ÇÏÁö¿ä. Á¶±Ý ¾î·Á¿î ³»¿ëÀÌÁö¸¸ õõÈ÷ Àß
»ý°¢ÇØ º¸½Ã¸é ÃæºÐÈ÷ ¾Æ½Ç ¼ö ÀÖÀ» °Ì´Ï´Ù.
al[1]À̶ó°í ÇßÀ» ¶§ ½ÇÁ¦·Î Á¢±ÙÇÑ ¸Þ¸ð¸®ÀÇ ¹øÁö°¡ ¾î¶»°Ô µÇ³ª¿ä? ¹Ù·Î
45¹øÀÌ°ÚÁö¿ä? ±×·¯¸é ÀÌ°É []¿¬»êÀÚ°¡ ¾Æ´Ñ *¿¬»êÀÚ·Î Á¢±ÙÇÒ·Á¸é ¾î¶»°Ô ÇØ
¾ß ÇÒ±î¿ä? ¾Æ½Ã´Ù½ÃÇÇ alÀÇ °ªÀº 41ÀÌÁö¿ä. »ý°¢ÇØ º¾½Ã´Ù.
alÀÌ 41ÀÌ´Ï±î °Å±â¿¡ 4¸¦ ´õÇÑ °ª¿¡ *¸¦ ºÙÀÌ¸é µÇÁö ¾ÊÀ»±î¿ä? ´ÙÀ½°ú °°
ÀÌ ¸»ÀÔ´Ï´Ù.
*(al + 4)
À̶§ *¿¬»êÀÚ´Â + ¿¬»êÀÚ º¸´Ù ¼øÀ§°¡ ³ô±â ¶§¹®¿¡ ¹Ýµå½Ã °ýÈ£¸¦ ÇØ ÁÖ¾î
¾ß ÇÕ´Ï´Ù. Çѹø ´ÙÀ½ ÇÁ·Î±×·¥À» ½ÇÇàÇØ º¸¼¼¿ä.
¦®¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¯
¦ void main(void) { ¦
¦ long al[2] = { 1L, 2L }; ¦
¦ printf("%ld %ld", *al, *(al + 4)); ¦
¦ } ¦
¦±¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦°
¾î¶§¿ä? °á°ú°¡ Á¦´ë·Î ³ª¿À³ª¿ä? ¾Æ´ÏÁö¿ä? Á¦´ë·Î ³ª¿Ô´Ù¸é ¿ì¿¬È÷ ±×·±
°Ì´Ï´Ù. ±×·³ ¿Ö Ʋ¸±±î¿ä? ¸Â´Â °Í °°Àºµ¥¡¦
¿ì¸®°¡ *¿¬»êÀÚ¸¦ »ç¿ëÇÒ ¶§ ±× Æ÷ÀÎÅÍÀÇ Å¸ÀÔ ¸¸ÅÀÇ °ªÀ» Àоî¿Â´Ù°í Çß
Áö¿ä? ÀÌ °æ¿ì´Â long *ŸÀÔÀ̶ó°í º¸¸é µÇ°ÚÁö¿ä. ±×·¡¼ *al ÇßÀ»¶§µµ 41¹ø
ÁÖ¼ÒºÎÅÍ 4¹ÙÀÌÆ®¸¦ ÀÐ¾î¼ 1ÀÌ Ãâ·ÂÀÌ µÇ¾úÁö¿ä. ±×·±µ¥ ÀÌ Å¸ÀÔÀÇ Å©±â´Â
Æ÷ÀÎÅÍ¿¡ µ¡¼ÀÀ̳ª »¬¼ÀÀ» ÇÒ¶§µµ Àû¿ëÀÌ µË´Ï´Ù. ±×·¯´Ï±î Æ÷ÀÎÅÍ°¡ longÇü
Æ÷ÀÎÅÍÀÎ °æ¿ì´Â ±× Æ÷ÀÎÅÍ¿¡ 1À» ´õÇصµ ½ÇÁ¦·Î´Â ±× Æ÷ÀÎÅÍ Å¸ÀÔÀÇ Å©±âÀÎ
4°¡ ´õÇØÁø´Ù´Â °ÍÀÌÁö¿ä. ¹°·Ð 2¸¦ ´õÇϸé 8ÀÌ ´õÇØÁö°í¿ä.
±×·¡¼ À§ÀÇ ¿¹Á¦ÀÇ °æ¿ì *(al + 4)°¡ ¾Æ´Ñ *(al + 1)À̶ó°í ÇØ¾ß 2¶ó´Â °á
°ú°¡ ³ª¿Â´Ù´Â °Ì´Ï´Ù. ÀÌÁ¦ Á» ¾Æ½Ã°ÚÁö¿ä? ±×¸®°í »ç½Ç ÀÌ°Ô ÈξÀ ½±Áö¿ä.
al[0] = *(al + 0) = *al
al[1] = *(al + 1)
al[2] = *(al + 2)
ÀÌ·¸°Ô µÈ´Ù´Â °Ì´Ï´Ù. ±× Æ÷ÀÎÅÍ Å¸ÀÔÀÇ Å©±â¿¡ °ü°è¾øÀÌ µ¿ÀÏÇÑ °á°ú¸¦
¾òÀ» ¼ö ÀÖ°ÚÁö¿ä? ¾óÇÍ º¸¸é ¾î·Á¿î°Í °°±âµµ ÇÏÁö¸¸ ±×³ª¸¶ C°¡ ÇÁ·Î±×·¡¸Ó
¸¦ Á¶±Ý ¹è·ÁÇß´Ù°í »ý°¢µÇÁö ¾ÊÀ¸½Ã³ª¿ä? ÀÌ·¸Áö ¾Ê´Ù¸é Æ÷ÀÎÅ͸¦ ÅëÇØ ¹è¿
À» ÂüÁ¶ÇÒ ¶§ ±× ¹è¿ Æ÷ÀÎÅÍ Å¸ÀÔÀÇ Å©±â¸¦ ÀÏÀÏÈ÷ °è»êÇØ¾ß ÇÒÅ״ϱî¿ä.
±×¸®°í ÇÑ °¡Áö ´õ.
C´Â []¿¬»êÀÚ¸¦ ³»ºÎÀûÀ¸·Î´Â À§Ã³·³ *() ¿¬»êÀÚ·Î ¹Ù²ã¼ »ç¿ëÇÑ´Ù´Â °ÍÀÔ
´Ï´Ù. µÎ ÄÚµå´Â ¿ÏÀüÈ÷ µ¿ÀÏÇÏ°Ô µÇ´Â °ÍÀÌÁö¿ä.
¢Ä ÀÌ·±°Íµµ °¡´É!
À̹ø¿¡´Â ¾ÆÁÖ ½Å±âÇÑ Äڵ带 ¸¹ÀÌ º¼ ¼ö ÀÖÀ» °Ì´Ï´Ù. ´ÙÀ½À» º¸¼¼¿ä.
int pi[5] = { 1, 2, 3, 4, 5 };
¦®¦¬¦¬¦³¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¯
¦ÁÖ¼Ò¦ 41 42 43 44 45 46 47 48 49 4A ¦
¦ ¦ ¦³¦¬¦¬¦¬¦³¦¬¦¬¦¬¦³¦¬¦¬¦¬¦³¦¬¦¬¦¬¦³¦¬¦¬¦¬¦³¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬ ¦
¦ °ª ¦ ¦01¦00¦02¦00¦03¦00¦04¦00¦05¦00¦ ¡¦ ¦
¦ ¦ ¦µ¦¬¦¬¦¬¦µ¦¬¦¬¦¬¦µ¦¬¦¬¦¬¦µ¦¬¦¬¦¬¦µ¦¬¦¬¦¬¦µ¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬ ¦
¦À̸§¦ pi ¦
¦±¦¬¦¬¦µ¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦°
pi[3]Àº *(pi + 3)°ú °°´Ù°í ÇßÁö¿ä? À§ ±×¸²°ú °°ÀÌ ÀúÀåµÇ¾î ÀÖ´Ù°í ÇÑ´Ù
¸é pi + 3Àº 47ÀÌ µÉ °Ì´Ï´Ù. ±×·¸´Ù¸é 3 + pi´Â ¹»±î¿ä? ¿ª½Ã 47ÀÌÁö¿ä. ÀÌ
°É []¿¬»êÀÚ·Î ¹Ù²Ù¸é ¾î¶»°Ô µÇÁö¿ä?
³×. ±×·¸½À´Ï´Ù. 3[pi]Áö¿ä. °á±¹ ´ÙÀ½ÀÇ ³× °¡Áö´Â ¸ðµÎ µ¿ÀÏÇÕ´Ï´Ù.
pi[3] = 3[pi] = *(pi + 3) = *(3 + pi)
¶Ç ÇÑ°¡Áö À̹ø¿¡´Â ¹®ÀÚ¿ »ó¼ö¸¦ Çѹø º¾½Ã´Ù.
printf("%c", "ABC"[1]);
ÀÌ °á°ú´Â ¾î¶»°Ô µÉ±î¿ä? ³×. ¹®ÀÚ¿ "ABC"ÀÇ 1¹ø° ¿ä¼ÒÀÎ B°¡ Ãâ·ÂµÇ°Ú
Áö¿ä. ´Ù¸¥ »ó¼ö¿Í ´Ù¸£°Ô ¹®ÀÚ¿ »ó¼ö´Â ¸Þ¸ð¸®¿¡ Àӽ󪸶 ÀúÀåÀÌ µË´Ï´Ù.
¦®¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¯
¦ void main(void) { ¦
¦ printf("%p %p", "DEF", 5); ¦
¦ } ¦
¦±¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦°
À§ÀÇ °á°ú´Â ¾î¶»°Ô ³ª¿À³ª¿ä? ù¹ø° %p¿¡¼´Â ¹®ÀÚ¿ "DEF"°¡ ÀúÀåµÈ ¸Þ
¸ð¸®ÀÇ Æ÷ÀÎÅÍ°¡ ³ª¿ÀÁö¿ä. ±×·¯³ª 5´Â ¹®ÀÚ¿ »ó¼ö°¡ ¾Æ´Ï±â ¶§¹®¿¡ ±× °ªÀ»
Á÷Á¢ Æ÷ÀÎÅÍ·Î º¸°í 0000:0005¸¦ Ãâ·ÂÇÏ°Ô µÇ´Â °ÍÀÌÁö¿ä. ±×·¸±â ¶§¹®¿¡ ¹®
ÀÚ¿ »ó¼ö¿¡ ÇÑÇؼ »ó¼ö·Îµµ Á÷Á¢ Æ÷ÀÎÅÍ ¿¬»êÀ» ÇàÇÒ ¼ö ÀÖ´Â °Ì´Ï´Ù. ÇÑ°¡
Áö ´õ º¹ÀâÇÑ °ÍÀ» º¼±î¿ä.
printf("%c", 2["ABCDEFGH" + 3]);
³Ê¹« º¹ÀâÇÑ°¡¿ä? ^^ ÇÏÁö¸¸ º°°Í ¾Æ´Õ´Ï´Ù. Â÷±ÙÈ÷ »ìÆ캸µµ·Ï ÇÏÁö¿ä. À§
ÀÇ ¿¬»êÀº *(2 + "ABCDEFGH" + 3)°ú ¿ÏÀüÈ÷ °°Àº ÄÚµå°ÚÁö¿ä. ÀÌÁ¦ Á» ¾Ë¾Æº¸
½Ã°ÚÁö¿ä? *("ABCDEFGH" + 5) = "ABCDEFGH"[5]¿Í ¿ÏÀüÈ÷ µ¿ÀÏÇÑ °ÍÀÔ´Ï´Ù.
°á±¹ °á°ú´Â F°¡ µÇ°ÚÁö¿ä. ¾î¶§¿ä? º°·Î ¾È ¾î·ÆÁö¿ä?
±×¸®°í ¹°·Ð Æ÷ÀÎÅÍ ¿¬»êÀº µ¡¼À¸¸ °¡´ÉÇÑ °ÍÀÌ ¾Æ´Õ´Ï´Ù. »¬¼À, °ö¼À, ½É
Áö¾î ³ª´°¼Àµµ °¡´ÉÇÏÁö¿ä. ¿Ö³Ä±¸¿ä? Æ÷ÀÎÅͶõ °Íµµ ±×³É ¼ýÀÚÀ̱⠶§¹®ÀÌÁö
¿ä. ±×·¸Áö¸¸ °ö¼À°ú ³ª´°¼ÀÀº ¾µ ÀÏÀÌ ¾ø°ÚÁö¿ä. ¾µ¼öµµ ¾ø°í¡¦ µ¡¼À°ú »¬¼À
Àº ¿ì¸®°¡ °ªÀ» ¾Ë°í ÀÖ´Â ÀÏÁ¤ÇÑ ¿¬¼Ó ¸Þ¸ð¸®¿¡ ´ëÇØ ¾µ ¼ö ÀÖ±ä ÇÏÁö¸¸, °ö
¼À°ú ³ª´°¼ÀÀ» ÅëÇÑ ¸Þ¸ð¸® Á¢±ÙÀ̶ó¸é ¿ì¸®°¡ ÀüÇô ¸ð¸£´Â °ªÀÌÁö¿ä. »¬¼Àµµ
Çѹø º¸µµ·Ï ÇÏÁö¿ä.
printf("%c", 2["ABCDEFGH" - 1]);
°á°ú´Â B°¡ ³ª¿À°ÚÁö¿ä. ÇÑ °¡Áö ¿¹Á¦¸¦ ´õ º¾½Ã´Ù.
¦®¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¯
¦ #include <stdio.h> ¦
¦ ¦
¦ void main(void) { ¦
¦ int ia[5] = { 1, 2, 3, 4, 5 }; ¦
¦ int k = 2; ¦
¦ ¦
¦ printf("%d", (k + 1)[ia - 3]); ¦
¦ } ¦
¦±¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦°
°á°ú´Â 1ÀÌ°ÚÁö¿ä. ¿ÖÀÎÁö´Â 1ºÐ¸¸ »ý°¢ÇØ º¸¸é ¾Ë ¼ö ÀÖÀ»²¬¿ä? ^^;
À̹ø¿¡´Â ¹®ÀÚ¿ÀÇ ÀϺθ¸ Ãâ·ÂÇÏ´Â ¹æ¹ýÀ» »ý°¢ÇØ º¸µµ·Ï ÇսôÙ. ¹®ÀÚ¿
Àº ÀϹÝÀûÀ¸·Î puts·Î Ãâ·ÂÇÏÁö¿ä. ÀÌ ÇÔ¼ö¸¦ ±×´ë·Î ÀÌ¿ëÇսôÙ.
char *ps = "ABCDEFG";
puts ÇÔ¼ö´Â Æ÷ÀÎÅ͸¦ ÀÎÀÚ·Î ¹Þ½À´Ï´Ù. ±×ÃÝ? ±×·¸´Ù¸é "DEFG"¸¸ Ãâ·ÂÇÒ·Á
°í Çϸé DÀÇ Æ÷ÀÎÅ͸¦ ³Ñ°ÜÁÖ¸é µÇ°ÚÁö¿ä. ´ÙÀ½°ú °°ÀÌ ¸»ÀÔ´Ï´Ù.
puts(&ps[3]);
ÀÌÇØ µÇ½ÃÁÒ? &º¸´Ù´Â []°¡ ¿ì¼±¼øÀ§°¡ À§À̹ǷΠ°ýÈ£¸¦ ¾È ºÙ¿©µµ µË´Ï´Ù.
¢Ä Áõ°¡ ¿¬»êÀÚ¿Í °¨¼Ò ¿¬»êÀÚ, ±×¸®°í ¿¬»êÀÚ ÃÖÁ¾ Á¤¸®
¿ì¼± ´ÙÀ½ ¿¹Á¦¸¦ º¾½Ã´Ù.
int pi[5] = { 2, 5, 1, 3, 4 };
printf("%d", *pi + 1);
printf("%d", *(pi + 1));
°á°ú°¡ ¾î¶»°Ô ³ª¿À³ª¿ä? ³×. 3°ú 5°¡ ³ª¿ÀÁö¿ä. µÎ °á°ú´Â ÀüÇô ´Ù¸¥ °Ì´Ï
´Ù. (Àü¿¡ *°¡ + º¸´Ù ¿ì¼±¼øÀ§°¡ ³ô´Ù°í Çß¾úÁö¿ä) ù¹ø°ÀÇ °æ¿ì´Â *pi, Áï
2¿¡ 1À» ´õÇØ 3ÀÌ µÈ °ÍÀÌ°í¿ä. µÎ¹ø°´Â ¾Æ½Ã´Ù½ÃÇÇ pi + 1ÀÇ °ªÀ» Àоî¿Â
°ÍÀÌ°ÚÁö¿ä.
´ÙÀ½À¸·Î´Â Áõ°¡ ¿¬»êÀÚ¿Í °¨¼Ò ¿¬»êÀÚ¿¡ ´ëÇØ ¾Ë¾Æ º¾½Ã´Ù.
int ia[5] = { 1, 2, 3, 4, 5 };
int *pi = ia;
¾Æ½Ã´Ù½ÃÇÇ Áõ°¡ ¿¬»êÀÚ¿Í °¨¼Ò ¿¬»êÀÚ´Â ±× °ª ÀÚü¸¦ ¹Ù²Ù±â ¶§¹®¿¡ »ó¼ö
¿¡´Â »ç¿ëÀÌ ºÒ°¡´É ÇÕ´Ï´Ù. ¹è¿¸íÀÎ ia´Â »ó¼öÀ̱⠶§¹®¿¡ ia++, ++ia °°Àº
¹æ¹ýÀ¸·Î´Â »ç¿ëÀÌ ºÒ°¡´ÉÇÏÁö¿ä. (ÄÄÆÄÀϽà ¿¡·¯°¡ ¹ß»ýÇÕ´Ï´Ù)
¦®¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¯
¦ void main(void) { ¦
¦ int ia[5] = { 1, 3, 5, 7, 9 }; ¦
¦ int *pi = ia; ¦
¦ ¦
¦ int a, b, c; ¦
¦ a = *pi++; ¦
¦ b = *pi; ¦
¦ c = *++pi; ¦
¦ ¦
¦ printf("%d %d %d", a, b, c); ¦
¦ } ¦
¦±¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦°
ÀÌó·³ a, b, c¿¡ ¹Ì¸® °ªÀ» ´ëÀÔÇÏ´Â ÀÌÀ¯´Â, ¸¹Àº ÄÄÆÄÀÏ·¯¿¡¼ printf¹®
¿¡ Á÷Á¢ Áõ°¡, °¨¼Ò ¿¬»êÀÚ¸¦ ±âÀÔÇÒ ¶§ Á¤È®ÇÑ ¼ø¼·Î ¿¬»êÀÌ µÇÁö ¾Ê´Â ¹®
Á¦Á¡ÀÌ Àֱ⠶§¹® ÀÔ´Ï´Ù. Á¦°¡ ÇØ º» °á°ú BC++ 3.1¿¡¼ÀÇ °á°ú´Â »ó´çÈ÷ Ư
ÀÌÇÏ°Ô ¸ðµÎ 3À̾ú½À´Ï´Ù. 1Çб⠱⸻ °í»ç¶§Àΰ¡ ÀÌ ¹®Á¦°¡ ³ª¼ ÀüºÎ ´Ù ¸Â
°Ô ÇØ ÁÖ¾ú´ø ÀûÀÌ ÀÖÁö¿ä.
Á¤È®ÇÑ °á°ú´Â 1 3 5 ÀÔ´Ï´Ù. Áõ°¡, °¨¼Ò ¿¬»êÀÚ´Â *¿¬»êÀÚº¸´Ù ¿ì¼± ¼øÀ§
°¡ ³ô½À´Ï´Ù. Çϳª¾¿ »ìÆ캸µµ·Ï ÇÏÁö¿ä.
*pi++Àº ¿ì¼±¼øÀ§¿¡ ÀÇÇØ *(pi++)°ú °°½À´Ï´Ù. ±×·¯³ª postfix ¿¬»êÀÚ´Â ¿¬
»êÀÌ ´Ê°Ô ÇàÇØÁö¹Ç·Î ¿ì¼± *pi°¡ ÇàÇØÁ® a¿¡ 1ÀÌ µé¾î°¡°í pi++·Î ÀÎÇØ piÆ÷
ÀÎÅÍ°¡ Çϳª Áõ°¡ÇÏ°Ô µÇÁö¿ä.
¸¸¾à (*pi)++À̶ó°í Çß´Ù¸é ¾î¶³±î¿ä? ¿ì¼± *pi·Î ÀÎÇØ °ªÀ» Àоî¿À±ä ÇÏ°Ú
Áö¿ä. ±×·¯³ª ++°¡ ÇàÇØÁö´Â ´ë»óÀº pi°¡ ¾Æ´Ñ *pi ÀÔ´Ï´Ù. ´Ù½Ã ¸»Çؼ Àоî
¿Â °ª¿¡ ++¸¦ ÇÑ´Ù´Â °ÍÀÌÁö¿ä. a¿¡ ÀÌ °ªÀ» ´ëÀÔÇß´Ù¸é °á°ú´Â 2¿´°ÚÁö¿ä.
*++pi´Â *(++pi)¿Í °°½À´Ï´Ù. prefix ¿¬»êÀÚÀ̹ǷΠ¿ì¼±ÀûÀ¸·Î pi¸¦ Çϳª
Áõ°¡½ÃŲ ´ÙÀ½¿¡ ±× °ªÀ» Àоî¿À°Ô µÇÁö¿ä. ¿ø·¡ÀÇ pi´Â 3À» °¡¸®Å°°í ÀÖ¾úÀ¸
¹Ç·Î Çϳª Áõ°¡½ÃŲ À§Ä¡ÀÇ °ªÀÎ 5°¡ °á°ú°¡ µÇ°ÚÁö¿ä.
++*piÀÇ °æ¿ì´Â ¾î¶³±î¿ä? ÀÌ°ÍÀº ++(*pi)¿Í °°°Ô µÇ°ÚÁö¿ä. ¿ì¼±¼øÀ§¿¡ ÀÇ
ÇØ *(++pi)°¡ µÇ´Â °Í ¾Æ´Ï³Ä°í ÇϽÇÁöµµ ¸ð¸£°Ú´Âµ¥. ±×·¸Áö ¾ÊÁö¿ä. ¼ø¼·Î
º¼¶§ ++°¡ ¿¬»êÀ» ÇàÇÒ ´ë»óÀº *piÀ̱⠶§¹®ÀÌÁö¿ä. ´Ù½Ã ¸»¾¸µå·Á ¿ì¼±¼øÀ§
´Â µÎ°³ÀÇ ¿¬»êÀÚ°¡ µ¿µîÇÑ ÀÔÀåÀÏ ¶§ °í·Á°¡ µÇ´Â °ÍÀÔ´Ï´Ù. À§¿¡¼ *pi++ó
·³ ¾çÂÊÀ¸·Î ³ª´©¾îÁ® ÀÖÀ» ¶§ ¸»ÀÌÁö¿ä. ¹Ù·Î À§¿¡¼ *++pi¿¡¼µµ ¿ì¼±¼øÀ§
¾ê±â´Â ÇÏÁö ¾Ê¾ÒÁö¿ä. ´ç¿¬È÷ ¿¬»êÇÒ ´ë»ó¿¡ ´õ °¡±î¿î °ÍÀÌ ¸ÕÀú ½ÇÇàµÇ´Â
¹ýÀÔ´Ï´Ù.
¢Ä ¸Þ¸ð¸® µ¿Àû ÇÒ´ç
ÀÌÁ¦ ¸Þ¸ð¸®¸¦ µ¿Àû ÇÒ´çÇÏ´Â ¹æ¹ý¿¡ ´ëÇؼ ¾Ë¾Æº¸µµ·Ï ÇÏÁö¿ä. ¸Þ¸ð¸® µ¿
Àû ÇÒ´çÀ» À§Çؼ´Â alloc.h¸¦ ¹Ýµå½Ã ÀÎŬ·çµå ÇØ ÁÖ¾î¾ß ÇÕ´Ï´Ù. ¾ÈÇصµ ÅÍ
º¸ C¿¡¼´Â ¿¡·¯ ¾øÀÌ ÄÄÆÄÀϵÇÁö¸¸ ½ÇÇà Áß¿¡ ¹®Á¦°¡ »ý±æ ¼öµµ ÀÖ½À´Ï´Ù.
ÀÏ´Ü ¸Þ¸ð¸® µ¿Àû ÇÒ´çÀº malloc°ú free¸¦ »ç¿ëÇÑ´Ù´Â °Ç ¾Æ½Ã°ÚÁö¿ä.
char *pc, *pi;
pc = (char *)malloc(sizeof(char)*3);
pi = (int *)malloc(sizeof(int)*3);
À§ÀÇ ¿¹¿¡¼ ¾Ë ¼ö ÀÖµíÀÌ malloc¿¡ ³Ñ°ÜÁÖ´Â °ªÀº ¿ì¸®°¡ ±× µ¿¾È »ç¿ëÇß
´ø °ª°ú´Â Â÷ÀÌ°¡ ÀÖ½À´Ï´Ù. ¿ì¸®°¡ ¹è¿¿¡¼ »ç¿ëÇÑ ´ÜÀ§´Â ¹è¿¿ä¼ÒÀÇ ¼ö¸¦
±âÁØÀ¸·Î ÇßÁö¸¸, ¿©±â¼´Â ±× ½ÇÁ¦ ¹ÙÀÌÆ® ¼ö¸¦ ±âÁØÀ¸·Î ÇÏ°í ÀÖÁö¿ä. ±×·¸
±â ¶§¹®¿¡ sizeof·Î ½ÇÁ¦ ÀÚ·áÇüÀÇ Å©±â¸¦ °è»êÇÏ°í ÀÖ½À´Ï´Ù.
mallocÀº ÁÖ¾îÁø Å©±â ¸¸ÅÀÇ ¸Þ¸ð¸®¸¦ ÇÒ´çÇÏ°í ±× Æ÷ÀÎÅ͸¦ void *ÇüÀ¸·Î
¹Ýȯ ÇÕ´Ï´Ù. ¸Þ¸ð¸® ±¸Á¶´Â ´ÙÀ½°ú °°Áö¿ä.
¦®¦¬¦¬¦³¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¯
¦ÁÖ¼Ò¦ 41 42 43 5A 5B 5C 5D 5E ¦
¦ ¦ ¦³¦¬¦³¦¬¦³¦¬¦³¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦³¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦³¦¬¦³ ¦
¦ °ª ¦ ¦¢Æ¦¢Æ¦¢Æ¦ ¡¦ ¦41¦00¦00¦00¦ ¦ ¦
¦ ¦ ¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦µ¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦µ¦¬¦µ ¦
¦À̸§¦ pc ¦
¦±¦¬¦¬¦µ¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦°
¦®¦¬¦¬¦³¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¯
¦ÁÖ¼Ò¦ 61 62 63 64 65 66 7A 7B 7C 7D 7E ¦
¦ ¦ ¦³¦¬¦¬¦¬¦³¦¬¦¬¦¬¦³¦¬¦¬¦¬¦³¦¬¦¬¦¬¦¬¦¬¦¬¦³¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦³¦¬¦³ ¦
¦ °ª ¦ ¦¢Æ¦¢Æ¦¢Æ¦¢Æ¦¢Æ¦¢Æ¦ ¡¦ ¦61¦00¦00¦00¦ ¦ ¦
¦ ¦ ¦µ¦¬¦¬¦¬¦µ¦¬¦¬¦¬¦µ¦¬¦¬¦¬¦µ¦¬¦¬¦¬¦¬¦¬¦¬¦µ¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦µ¦¬¦µ ¦
¦À̸§¦ pi ¦
¦±¦¬¦¬¦µ¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦°
ÇÒ´çµÈ ¸Þ¸ð¸®´Â ÃʱâÈ µÈ °ÍÀº ¾Æ´Õ´Ï´Ù. Áï, ¾î¶² °ªÀÌ µé¾îÀÖÀ»Áö ¸ð¸¥
´Ù´Â °ÍÀÌÁö¿ä.
ÀÌÁ¦ ÀÏ¹Ý ¹è¿À» »ç¿ëÇÏ´Â °Íó·³ ¾µ ¼ö°¡ ÀÖÁö¿ä.
pc[0] = 1;
pi[2] = 3;
±×¸®°í »ç¿ëÀ» ³¡³ÂÀ» ¶§¿¡´Â free·Î ÇØÁ¦¸¦ ÇØ ÁÖ°Ô µÇÁö¿ä. ¹Ýµå½Ã ÇØ ÁÖ
¾î¾ß ÇÕ´Ï´Ù. ¹°·Ð ÇÒ´çÇÑ ¸Þ¸ð¸®°¡ ÀÛÀ» ¶§´Â ¾È Çصµ Å« ¹®Á¦°¡ ¾øÁö¸¸ ¾ð
Á¦ ¹®Á¦°¡ ¹ß»ýÇÒÁö´Â ¸ð¸£´Â °ÅÁö¿ä.
free(pc);
free(pi);
¢Ä µ¿Àû ÇÒ´ç°ú ÀÎÀÚ
´ÙÀ½ÀÇ ¿¹Á¦¸¦ º¸¼¼¿ä.
void my_alloc(int *ap, int size) {
ap = (int *)malloc(size);
}
void main(void) {
int *pi;
my_alloc(pi, 10);
// ...
}
ÀÌ ¿¹Á¦°¡ °ú¿¬ Á¦´ë·Î ÀÛµ¿À» ÇÒ±î¿ä? ±×·²µí ÇÏÁö¸¸, ÀüÇô Á¦´ë·Î µ¿ÀÛÇÏ
Áö ¾Ê´Â ÄÚµå ÀÔ´Ï´Ù. ¿ÖÀϱî¿ä? my_alloc ÇÔ¼ö·Î pi¸¦ ³Ñ°åÁö¸¸ ½ÇÁ¦·Î ³Ñ¾î
°£ °ÍÀº pi º¯¼ö°¡ ¾Æ´Ñ ±× º¯¼öÀÇ °ªÀÔ´Ï´Ù. ¿ª½Ã Call by valueÀ̱⠶§¹®ÀÌ
Áö¿ä. ¹°·Ð ±× º¯¼öÀÇ °ªÀº ÃʱâȵÇÁö ¾Ê¾ÒÀ¸¹Ç·Î ¾Ë ¼ö°¡ ¾ø½À´Ï´Ù.
±×·¸°Ô ³Ñ¾î¿Â ÀÎÀÚÀÎ ap¿¡ ´Ù½Ã mallocÀÇ ¸®ÅÏ °ªÀ» ´ëÀÔÇØ ³ÖÁö¿ä? ±×·³
¾î¶»°Ô µÉ±î¿ä? ³×. ±×·¸Áö¿ä. ¿ø·¡ ³Ñ¾î°£ piÀÇ °ª°ú´Â ÀüÇô °ü°è¾ø´Â °ªÀÌ
ap¿¡ µé¾î°¡°í °ð À̾î Æ÷ÀÎÅÍ º¯¼ö ap´Â ¾ø¾îÁ® ¹ö¸®Áö¿ä. piÀÇ °ªÀº ¾ÆÁ÷µµ
ÃʱâȵÇÁö ¾ÊÀº ä·Î ³²¾ÆÀÖ´Â °Ì´Ï´Ù. ap¿¡ ÇÒ´çµÈ ¸Þ¸ð¸®´Â ±× Æ÷ÀÎÅ͸¦
°¡Áö°í ÀÖ´Â º¯¼ö°¡ ¾øÀ¸¹Ç·Î ÇØÁ¦ÇÒ ¼öµµ ¾ø°Ô µÇ¾î ¹ö¸®Áö¿ä.
Ãʺ¸ÀÚµéÀÌ ÈçÈ÷ ÀúÁö¸£´Â ½Ç¼ö´Â ÀÌ·¸°Ô µ¿Àû ÇÒ´çÀ» ÇÏ°í´Â Æ÷ÀÎÅÍ °ü¸®
¸¦ Àß ÇÏÁö ¸øÇÏ´Â µ¥¼ ÀϾ´Ï´Ù.
Á¤¸®ÇÏÀÚ¸é, mallocÀ¸·Î ¹ÞÀº °ªÀº free°¡ µÇ±â Àü±îÁö Àý´ë·Î ÇÁ·Î±×·¡¸Ó
°¡ ¾ðÁ¦¶óµµ »ç¿ëÇÒ ¼ö ÀÖ´Â º¯¼öÀÇ ÇüÅ·Π³²¾Æ ÀÖ¾î¾ß ÇÑ´Ù´Â °ÍÀÌÁö¿ä. À§
¿¡¼ apÀÇ ½ºÄÚÇÁ´Â my_alloc ÇÔ¼öÀ̱⠶§¹®¿¡ ÇÔ¼ö°¡ ³¡³ª¸é »ç¶óÁö´Â °Ç ´ç
¿¬ÇÏÁö¿ä.
¾î¶§¿ä? ³Ê¹« ¾î·Á¿ü³ª¿ä? Á» ¾î·Á¿ö º¸À̱ä ÇÏÁö¸¸ õõÈ÷ Àо¸é ±×·¸
°Ô ¾î·Á¿ï °Íµµ ¾øÁö¿ä. ¾î·Æ°Ô »ý°¢µÇ´õ¶óµµ, ÀÌ ºÎºÐ¸¸ ÀÌÇظ¦ Çß´Ù¸é CÀÇ
Æ÷ÀÎÅÍ´Â ÀÌÁ¦ ¾Æ¹«°Íµµ ¾Æ´Õ´Ï´Ù. ±×³É ¸· ÁÖ¹«¸¦ ¼ö ÀÖ¾î¿ä. ÀÌÁ¦ºÎÅÍ´Â ´Ù
Â÷¿ø ¹è¿ Æ÷ÀÎÅÍ¿Í ±¸Á¶Ã¼ µî¿¡ ´ëÇØ ¾Ë¾Æº¼ °Ì´Ï´Ù. ¿ª½Ã ¿©Å±îÁöÀÇ ºÎºÐ
À» ÀÌÇØÇÏ¼Ì´Ù¸é ¾Æ¹«°Íµµ ¾Æ´Õ´Ï´Ù.
¡ºÇÁ·Î±×·¡¹Ö ¾ð¾î °ÁÂ-C,C++,VC °Á (go PROG)¡» 1588¹ø
Á¦ ¸ñ:[°ÁÂ] Æ÷ÀÎÅÍ ½ºÅ͵ð [3/8] -½Å°æÈ£
¿Ã¸°ÀÌ:ÆÄÀÌ»ç¶û(½Å°æÈ£ ) 00/01/26 23:58 ÀÐÀ½:203 °ü·ÃÀÚ·á ¾øÀ½
-----------------------------------------------------------------------------
¡º¹è¿òÅÍ-°Á (go SSCS)¡» 28¹ø
Á¦ ¸ñ:[°ÁÂ] Æ÷ÀÎÅÍ ½ºÅ͵ð [3/8] -½Å°æÈ£
¿Ã¸°ÀÌ:ÆÄÀÌ»ç¶û(½Å°æÈ£ ) 00/01/23 23:35 ÀÐÀ½: 3 °ü·ÃÀÚ·á ¾øÀ½
-----------------------------------------------------------------------------
¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬
¡á Æ÷ÀÎÅÍ ½ºÅ͵ð [3] ¡á
¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬
[990131 ÆÄÀÌ»ç¶û]
¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬
¡á 3. ´ÙÂ÷¿ø ¹è¿°ú Æ÷ÀÎÅÍ ¡á
¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬
¢Ä ´ÙÂ÷¿ø ¹è¿
ÀÌÁ¦ ´ÙÂ÷¿ø ¹è¿¿¡ ´ëÇØ ¾Ë¾Æº¸µµ·Ï ÇսôÙ. C¿¡¼ ¹è¿ÀÇ Â÷¿øÀº Á¦ÇÑÀÌ
¾øÁö¿ä. ¿ÖÀϱî¿ä? ¹Ù·Î Æ÷ÀÎÅ͸¦ »ç¿ëÇØ ±¸ÇöÀÌ µÇ±â ¶§¹®ÀÔ´Ï´Ù.
int ia[2][3] = { { 1, 2, 3 }, { 4, 5, 6 } };
ÀÌ·± 2Â÷¿ø ¹è¿ÀÌ ÀÖ´Ù°í ÇսôÙ. a[0][0]ÀÌ 1, a[0][1]ÀÌ 2, ÀÌ·¸°Ô µÈ´Ù
´Â°Ç ¾Æ½Ã°ÚÁö¿ä? ±×·±µ¥ ÀÌ ÀÌÂ÷¿ø ¹è¿ ÇüÅ´ ½ÇÁ¦·Î ³»ºÎÀûÀ¸·Î´Â 1Â÷¿ø
¹è¿ÀÇ 1Â÷¿ø ¹è¿ ÇüÅÂÀÔ´Ï´Ù. »ç½Ç C¿¡¼´Â ?Â÷¿ø ¹è¿À̶õ °Ç ¿ø·¡ Á¸ÀçÇÏ
Áú ¾Ê´Â´Ù´Â °ÅÁö¿ä. 3Â÷¿ø ¹è¿Àº ¹è¿ÀÇ ¹è¿ÀÇ ¹è¿ ÇüÅ¡¦ ÀÌ·¸°Ô ¸»ÀÌ¿¡
¿ä. ¾î·Æ´Ù°í¿ä?
³ª´²¼ »ý°¢À» ÇØ º¾½Ã´Ù.
int ia1[3] = { 1, 2, 3 };
int ia2[3] = { 4, 5, 6 };
ÀÌ µÎ°³ÀÇ ¿ä¼Ò°¡ ia[2]ÀÇ °¢ ¿ä¼Ò¶ó°í »ý°¢ÇÏ¸é µÇ°ÚÁö¿ä. ´Ù½Ã ¸»ÇÏÀÚ¸é
int[3]À» ÇϳªÀÇ Å¸ÀÔÀ¸·Î º¸¸é µÇ´Â °Ì´Ï´Ù. ŸÀÔÀ» »õ·Î Á¤ÀÇÇؼ »ý°¢Çϸé
´õ ½¬¿ï°Í °°³×¿ä.
typedef int arrayint[3];
Å©±â°¡ 3ÀÎ intÇü ¹è¿À» µû·Î arrayintÇüÀ¸·Î Á¤ÀÇÇÑ °Ì´Ï´Ù. ÀÌÁ¦ ´ÙÀ½°ú
°°ÀÌ Çϸé Å©±â°¡ 2ÀÎ arrayintÇü ¹è¿À» ÀâÀ» ¼ö ÀÖÁö¿ä. intÀÇ [2][3] ¹è¿
°ú ¿ÏÀüÈ÷ µ¿ÀÏÇÑ °Å°Ú°í¿ä.
arrayint ar[2];
¿©±â¼ ¹è¿°ú Æ÷ÀÎÅÍÀÇ ¶Ç ÇϳªÀÇ Â÷ÀÌÁ¡À» ¸»¾¸µå¸®Áö¿ä. ¹è¿Àº ±× ¹è¿
À̸§À» »ç¿ëÇØ Å©±â¸¦ ¾Ë¾Æ³¾ ¼ö ÀÖ½À´Ï´Ù. Æ÷ÀÎÅÍ´Â ±×·² ¼ö°¡ ¾øÁö¿ä. ´ÙÀ½
À» ½ÇÇàÇØ º¸¼¼¿ä. (#include´Â Á¦¿ÜÇÏ°Ú½À´Ï´Ù)
¦®¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¯
¦ void main(void) { ¦
¦ int ar[5], *p = ar; ¦
¦ printf("%d %d %d", sizeof(ar), sizeof(p), sizeof(*p)); ¦
¦ } ¦
¦±¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦°
°á°ú°¡ ¾î¶²°¡¿ä? 10 4 2°¡ ³ª¿ÀÁö¿ä. ±×·¸½À´Ï´Ù. ¹è¿¸íÀº ±× ŸÀÔ ÀÚü
int[5]¸¦ ´ëÇ¥ÇÏ°í Àֱ⠶§¹®¿¡ Å©±â¸¦ ¾Ë ¼ö ÀÖÁö¸¸, pÀÇ °æ¿ì´Â ±×³É Æ÷ÀÎ
ÅÍÀ̹ǷΠũ±â´Â ´ç¿¬È÷ 4°¡ µÇ°Ú°í, *p´Â intÇüÀÏÅ״ϱî 2°¡ µÇÁö¿ä.
±×·³ ´ÙÀ½Àº ¾î¶³±î¿ä?
int ia[2][3];
printf("%d", sizeof(ia[0]));
°á°ú´Â 6ÀÔ´Ï´Ù. ia[0]Àº »ç½Ç»ó int[3]ÇüÀ̱⠶§¹®ÀÌÁö¿ä. ia[1]µµ °á°ú´Â
°°À» °Ì´Ï´Ù. ±×·¯¸é sizeof(ia)ÀÇ °á°ú¸¦ ¿¹»óÇØ º¸¼¼¿ä. ³×. int[2][3]ÇüÀÌ
±â ¶§¹®¿¡ sizeof(int)*2*3ÀÎ 12°¡ µÇ°ÚÁö¿ä. ¾î¶§¿ä? ¾Æ½Ã°Ú³ª¿ä? ´Ù½Ã ¸»¾¸
µå¸®Áö¸¸ C´Â ¹è¿ÀÇ Å¸ÀÔÀ» Á¤È®È÷ ¾Ë°í ÀÖ´Ù´Â °Ì´Ï´Ù. 3Â÷¿ø ¹è¿ ÀÌ»óµµ
¸¶Âù°¡Áö ÀÔ´Ï´Ù. ¹°·Ð Á» º¹ÀâÇÏ´Ï±î ¿©±â¼´Â ´Ù·çÁö ¾Ê°Ú½À´Ï´Ù.
¢Ä ´ÙÂ÷¿ø ¹è¿°ú Æ÷ÀÎÅÍ
ÀÌÁ¦ºÎÅÍ´Â ´ÙÀ½ÀÇ °ªÀ» ±âÁØÀ¸·Î ¿¹Á¦¸¦ ÀÛ¼ºÇÏ°Ú½À´Ï´Ù.
int ia[2][3] = { { 1, 2, 3 }, { 4, 5, 6 } };
¦®¦¬¦¬¦³¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¯
¦ÁÖ¼Ò¦ 41 42 43 44 45 46 47 48 49 4A 4B 4C ¦
¦ ¦ ¦³¦¬¦¬¦¬¦³¦¬¦¬¦¬¦³¦¬¦¬¦¬¦³¦¬¦¬¦¬¦³¦¬¦¬¦¬¦³¦¬¦¬¦¬¦³¦¬¦¬¦¬¦¬¦¬ ¦
¦ °ª ¦ ¦01¦00¦02¦00¦03¦00¦04¦00¦05¦00¦06¦00¦ ¡¦ ¦
¦ ¦ ¦¶¦¬¦¬¦¬¦µ¦¬¦¬¦¬¦µ¦¬¦¬¦¬¦¶¦¬¦¬¦¬¦µ¦¬¦¬¦¬¦µ¦¬¦¬¦¬¦¶¦¬¦¬¦¬¦¬¦¬ ¦
¦À̸§¦ ¦±ia[0] ¦µia[1] ¦° ¦
¦ ¦ ¦±ia ¦° ¦
¦±¦¬¦¬¦µ¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦°
À§ÀÇ ±×¸²À» Àß º¸¼¼¿ä. ia´Â Æ÷ÀÎÅÍ »ó¼ö¶ó°í ¸»¾¸µå·ÈÁö¿ä. ±×·±µ¥ ÀÌ °æ
¿ì´Â ÁÖ¼Ò°ª¸¸ÀÌ ¾Æ´Ñ Å©±âµµ °¡Áö°í ÀÖ´Ù°í Çß½À´Ï´Ù. ÀÌ·± Æ÷ÀÎÅÍ »ó¼ö¸¦
¹è¿ »ó¼ö¶ó°í ÇÕ´Ï´Ù. Æ÷ÀÎÅÍ »ó¼ö¿¡ Å©±â¸¦ ´õÇÑ °³³äÀÌÁö¿ä. À§ ±×¸²¿¡¼
ia[0]°ú ia[1]µµ ¿ª½Ã ¹è¿ »ó¼ö ÀÔ´Ï´Ù. À̵éÀÌ °¡¸®Å°´Â ³»¿ëÀº ¹è¿ iaÀÇ
±¸¼º¿ä¼ÒÀ̱⠶§¹®¿¡ ¡¸ºÎºÐ ¹è¿¡¹À̶ó°íµµ ÇÕ´Ï´Ù. ´ÙÀ½ Ç¥¸¦ º¸¼¼¿ä.
¦®¦¬¦¬¦³¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦³¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦³¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¯
¦»ó¼ö¦ ia ¦ ia[0] ¦ ia[1] ¦
¦²¦¬¦¬¦¶¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¶¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¶¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦´
¦ °ª ¦ 41 ¦ 41 ¦ 47 ¦
¦Å©±â¦ 12 ¦ 6 ¦ 6 ¦
¦Å¸ÀÔ¦ int[2][3] ¦ int[3] ¦ int[3] ¦
¦±¦¬¦¬¦µ¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦µ¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦µ¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦°
Ç¥¸¦ º¸´Ï ÀÌÇØ°¡ °¡½ÃÁÒ? ÀÌÁ¦ ia[1][2]¶ó´Â ¿¬»êÀÌ ³»ºÎÀûÀ¸·Î ¾î¶»°Ô ÀÛ
µ¿ÇÏ´ÂÁö ¾Ë¾Æ º¾½Ã´Ù. ia[1][2]´Â *(*(ia + 1) + 2)¿Í µ¿ÀÏÇÑ ÄÚµå ÀÔ´Ï´Ù.
õõÈ÷ »ìÆ캸Áö¿ä. ia + 1ÀÇ °á°ú´Â ¹«¾ùÀÌ µÉ±î¿ä? 47 ÀÔ´Ï´Ù. iaÀÇ Å©±â
´Â 12¶ó°í Çߴµ¥ ¿Ö 47À̳İí¿ä? ¿©±â¼ ´õÇØÁö´Â Å©±â´Â iaÀÇ Å©±â°¡ ¾Æ´Ñ
iaÀÇ ¹è¿¿ä¼ÒÀÇ Å©±âÀÌÁö¿ä.
»ý°¢ÇØ º¸¼¼¿ä. int a[4] À϶§ a + 1Àº aÀÇ Å©±âÀÎ 8ÀÌ ´õÇØÁö´Â °ÍÀÌ ¾Æ´Ï
¶ó aÀÇ ¹è¿¿ä¼ÒÀÇ Å©±âÀÎ intÇü Å©±â 2°¡ ´õÇØÁöÀݾƿä.
´Ù½Ã µ¹¾Æ°¡¼ »ý°¢ÇØ º¾½Ã´Ù. iaÀÇ ¹è¿¿ä¼Ò´Â ia[0]°ú ia[1]ÀÌ°ÚÁö¿ä. ÀÌ
µéÀÇ Å©±â´Â Ç¥¿¡ ÀÖ´Ù½ÃÇÇ int[3]À̹ǷΠ6 ÀÔ´Ï´Ù. ´ç¿¬È÷ °á°ú´Â 47ÀÌ µÇ°Ú
Áö¿ä. ±×¸®°í³ª¼ *¿¬»êÀÚ¸¦ »ç¿ëÇØ °ªÀ» ÀнÀ´Ï´Ù.
¹Ù·Î À̶§ ÀÐÇô¿À´Â °ªÀº ¹«¾ùÀϱî¿ä? 47¹øÁöºÎÅÍ 6¸¸ÅÀÇ ³»¿ëÀÔ´Ï´Ù. ¹Ù
·Î ia[1]ÀÌÁö¿ä. ¸»¾¸µå·ÈµíÀÌ ia[1] ÀÚüµµ ¹è¿ »ó¼ö ÀÔ´Ï´Ù. ¹è¿À» °¡¸®
Å°°í Àֱ⠶§¹®ÀÌÁö¿ä. ÀÌ·¸°Ô ÀÐÇô¿Â ia[1]Àº ¿ª½Ã Ç¥¿¡ ÀÖµíÀÌ °ªÀÌ 47ÀÌ°í
Å©±â°¡ 6ÀÎ ¹è¿ »ó¼öÀÌÁö¿ä.
ÀÌÁ¦ºÎÅÍÀÇ °è»êÀº ¹Ù·Î ÀÌ ia[1]ÀÌ °¡¸®Å°´Â { 4, 5, 6 }¸¸À» °¡Áö°í ÇàÇÏ
¸é µË´Ï´Ù. ia[1]=*(ia + 1)={ 4, 5, 6 } À̶ó´Â °ÅÁö¿ä. ¹è¿ »ó¼ö ia[1]¿¡
´Ù½Ã 2¸¦ ´õÇÕ´Ï´Ù. À̶§ ½ÇÁ¦·Î ´õÇØÁö´Â ÁÖ¼Ò °ªÀº sizeof(int)*2ÀÎ 4ÀÌ°Ú
Áö¿ä. °á°úÀûÀ¸·Î *(ia + 1) + 2´Â 4B°¡ µÇ´Â °Ì´Ï´Ù. ´Ù½Ã *¿¬»êÀÚ¸¦ »ç¿ëÇØ
°ªÀ» Àоî¿À´Ï±î ÃÖÁ¾ °á°ú´Â 6ÀÌ µÇ´Â °ÅÁö¿ä.
ia[1][2]¿Í µ¿ÀÏÇÑ °á°úÁö¿ä? ¾î¶§¿ä? ²Ï º¹ÀâÇϳ׿ä. 2ȸ±îÁöÀÇ ³»¿ëÀ» ´Ù
ÀÌÇØÇÏ¸é ´ãºÎÅÏ ½±´Ù°í Çߴµ¥, ³Ê¹« ¾î·Á¿ü³ª¿ä? (±×·²¼öµµ ÀÖÁÒ ¸Ó¡¦ ^^)
¢Ä ´ÙÂ÷¿ø Æ÷ÀÎÅÍ ¿¬»ê
´ÙÀ½ ¿©·¯°³ÀÇ Äڵ尡 µ¿ÀÏÇÏ´Ù´Â °Í¸¸ ¸»¾¸µå¸®°í ³Ñ¾î°¡Áö¿ä.
ia[1][2] = *(*(ia + 1) + 2)
= *(ia[1] + 2) = (*(ia + 1))[2] = 1[ia][2] = 2[1[ia]]
¾î·ÆÁÒ? ¹°·Ð ÇÁ·Î±×·¡¹Ö »ó¿¡¼ ÀÌ·¸°Ô ¾²´Â °æ¿ì´Â ¾ø½À´Ï´Ù. ÀÌ·¸°Ô ¾²
´Ù°¡´Â¡¦ ==; Æ÷ÀÎÅÍ ¿¬»êÀÇ ÀÌÇظ¦ À§Çؼ ¾Ë¾Æº» °Í »ÓÀÌÁö¿ä. Çѹø ÀÌÇظ¸
ÇØ º¸¼¼¿ä.
¢Ä ´ÙÂ÷¿ø ¹è¿ÀÇ Æ÷ÀÎÅÍ
int *ip = ia;
À§¿Í °°Àº Äڵ带 ÀÛ¼ºÇß´Ù°í ÇսôÙ. ÄÄÆÄÀÏÀÌ µÉ±î¿ä? ÄÄÆÄÀÏ ¿É¼Ç¿¡ µû
¶ó¼ µÉ¼öµµ ÀÖ°í ¾È µÉ¼öµµ ÀÖÁö¸¸ µÈ´Ù°í Çصµ ¹®Á¦°¡ »ý±é´Ï´Ù. ia´Â ¹è¿
»ó¼öÀ̹ǷΠũ±â¸¦ °®°í Àִµ¥ ip´Â Æ÷ÀÎÅÍ º¯¼öÀ̹ǷΠũ±â¸¦ °¡ÁöÁö ¸øÇÑ
´Ù´Â °ÍÀÌÁö¿ä. °á±¹ ip[1][2]¿Í °°Àº ¹æ¹ýÀ¸·Î´Â Á¢±ÙÀ» ÇÒ ¼ö°¡ ¾øÁö¿ä. °¢
ip[0], ip[1] µîÀÇ Å©±â¸¦ ¾Ë ¹æµµ°¡ ¾øÀ¸´Ï±î¿ä. °Ô´Ù°¡ ia´Â intÇüÀÇ ¹è¿
ÀÌ ¾Æ´Ñ int[3]ÀÇ ¹è¿À̹ǷΠ¿ø·¡´Â ´ëÀÔµµ ºÒ°¡´ÉÇØ¾ß ÇÏ´Â °Ì´Ï´Ù. ŸÀÔÀÌ
´Ù¸£´Ï±î¿ä. ´ÙÂ÷¿ø ¹è¿ÀÇ Æ÷ÀÎÅÍ´Â ´ÙÀ½°ú °°ÀÌ ÇØ ÁÖ¾î¾ß ÇÕ´Ï´Ù.
int (*ip)[3] = ia;
Çϳª¸¦ Á¦¿ÜÇÑ ³ª¸ÓÁö´Â ¸ðµÎ Å©±â¸¦ Á¤ÇØ ÁÖ¾î¾ß ÇÑ´Ù´Â °Ì´Ï´Ù. ÀÌ·¸°Ô
ÇØ Áشٸé ip[1][2]¿Í °°ÀÌ ia¸¦ »ç¿ëÇÒ ¶§¿Í µ¿ÀÏÇÑ ¹æ¹ýÀ¸·Î Á¢±ÙÀÌ °¡´ÉÇÏ
°Ô µÇ´Â °ÍÀÌÁö¿ä.
¦®¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¯
ip¦¢Æ¦¢Æ¦¢Æ¦¢Æ¦²¦¯
¦±¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦°¦
¦®¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦°
[ ][0] [ ][1] [ ][2] ¦ [ ][0] [ ][1] [ ][2]
ia¡Ü¦¬¦¬¦¬¦³¦¬¦¬¦¬¦³¦¬¦¬¦¬¦¯ ¦±¢º¡Ü¦¬¦¬¦¬¦³¦¬¦¬¦¬¦³¦¬¦¬¦¬¦¯
¦¦01¦00¦02¦00¦03¦00¦[0][ ] ¦¦01¦00¦02¦00¦03¦00¦[0][ ]
¦¦²¦¬¦¬¦¬¦¶¦¬¦¬¦¬¦¶¦¬¦¬¦¬¦´ ¦¦²¦¬¦¬¦¬¦¶¦¬¦¬¦¬¦¶¦¬¦¬¦¬¦´
¦¦04¦00¦05¦00¦06¦00¦[1][ ] ¦¦04¦00¦05¦00¦06¦00¦[1][ ]
¦±¦±¦¬¦¬¦¬¦µ¦¬¦¬¦¬¦µ¦¬¦¬¦¬¦° ¦¦²¦¬¦¬¦¬¦¶¦¬¦¬¦¬¦¶¦¬¦¬¦¬¦´
¡¤ ¡¤ ¡¤ ¡¤ .
¡¤ ¡¤ ¡¤ ¡¤ .
<´ÙÂ÷¿ø ¹è¿> <´ÙÂ÷¿ø ¹è¿ Æ÷ÀÎÅÍ>
º¸½Ã´Ù½ÃÇÇ µÑ´Ù °¡·ÎÀÇ Å©±â´Â Á¤ÇØÁ® ÀÖ°í ¶È°°½À´Ï´Ù. ±×·¯³ª ia·Î´Â ±×
Å©±â¸¦ ¾Ë ¼ö ÀÖ´Â ¹Ý¸é ip´Â ÀÏ¹Ý Æ÷ÀÎÅÍÀ̱⠶§¹®¿¡ ¾Ë ¼ö°¡ ¾øÁö¿ä. ±×·¯
¸é ÀÌ·± ´ÙÂ÷¿ø ¹è¿ Æ÷ÀÎÅ͸¦ ¿Ö »ç¿ëÇÒ±î¿ä?
¹°·Ð ¿©·¯°¡Áö ¿ëµµ°¡ ÀÖÀ» ¼ö ÀÖ°ÚÀ¸³ª °¡Àå ÈçÈ÷ »ç¿ëµÇ´Â °æ¿ì´Â ¹Ù·Î
ÇÔ¼öÀÇ ÀÎÀÚ·Î ´ÙÂ÷¿ø ¹è¿À» ¾²°íÀÚ ÇÏ´Â °æ¿ìÀÔ´Ï´Ù. ¿©·¯¹ø ¸»¾¸µå·ÈÁö¸¸
¹è¿ »ó¼ö¸¦ ÀÎÀÚ·Î ¹ÞÀ» ¼ö´Â ¾ø´Ù°í ÇßÁö¿ä. ´ë½Å Æ÷ÀÎÅ͸¦ ÀÌ¿ëÇØ¾ß ÇÕ´Ï
´Ù. ´ÙÀ½À» º¸¼¼¿ä.
¦®¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¯
¦ #include <stdio.h> ¦
¦ ¦
¦ void swap(int *ip1, int *ip2) { ¦
¦ int temp; ¦
¦ temp = *ip1; ¦
¦ *ip1 = *ip2; ¦
¦ *ip2 = temp; ¦
¦ } ¦
¦ ¦
¦ void swaparr(int *ip1, int *ip2) { ¦
¦ swap(&ip1[0], &ip2[0]); ¦
¦ swap(&ip1[1], &ip2[1]); ¦
¦ swap(&ip1[2], &ip2[2]); ¦
¦ } ¦
¦ ¦
¦ void sortarr(int (*ip)[3], int size) { ¦
¦ int i; ¦
¦ for (i = 0; i < size - 1; i++) ¦
¦ if (ip[i][0] > ip[i + 1][0]) swaparr(ip[i], ip[i + 1]); ¦
¦ } ¦
¦ ¦
¦ void printarr(int (*ip)[3], int size) { ¦
¦ int i; ¦
¦ for (i = 0; i < size; i++) ¦
¦ printf("[%d] %d %d %d\n", i, ip[i][0], ip[i][1], ip[i][2]);¦
¦ } ¦
¦ ¦
¦ void main(void) { ¦
¦ int ia[3][3] = { { 3, 5, 2 }, { 2, 6, 8 }, { 4, 2, 6 } }; ¦
¦ ¦
¦ sortarr(ia, 3); ¦
¦ printarr(ia, 3); ¦
¦ } ¦
¦±¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦°
¿©Å±îÁöÀÇ ¿¹Á¦ Áß °¡Àå ±ä ¿¹Á¦ °°³×¿ä. ^^; swap ÇÔ¼ö´Â ´Ù ¾Æ½Ã¸®¶ó ¹Ï
°í, swaparr ÇÔ¼ö´Â ÀÏÂ÷¿ø ¹è¿(sortarr ÇÔ¼öÀÇ ÀÎÀÚÀÎ ÀÌÂ÷¿ø ¹è¿ Æ÷ÀÎÅÍ
ipÀÇ ºÎºÐ ¹è¿)À» ¹Þ¾Æ °¢ ¿ä¼ÒµéÀ» ¹Ù²Ù¾îÁÖ´Â ÇÔ¼öÀÌ°í, sortarr ÇÔ¼ö´Â
[°¢ ¹è¿ ¿ä¼Ò°¡ 3°³ÀÇ int°ªÀ» °¡Áö´Â ÀÌÂ÷¿ø ¹è¿]À» ÀÎÀÚ·Î ¹Þ¾Æ °¢ ¿ä¼Ò
ÀÇ Ã¹¹ø° °ªÀ» ºñ±³ÇØ Á¤·ÄÀ» ÇÏ´Â ÇÔ¼öÀÌÁö¿ä. printarr ÇÔ¼ö´Â À̸§´ë·Î
Ãâ·ÂÀ» ÇØ ÁÖ´Â ÇÔ¼öÀÌ°í¡¦
°á°ú´Â °¢ ºÎºÐ ¹è¿ { 3, 5, 2 }, { 2, 6, 8 }, { 4, 2, 6 }ÀÇ Ã¹¹ø° ¿ä
¼ÒÀÇ ¼ø¼´ë·Î Á¤·ÄµÇ¾î ´ÙÀ½°ú °°ÀÌ ³ª¿À°ÚÁö¿ä.
[0] 2 6 8
[1] 3 5 2
[2] 4 2 6
ÀÌÇØ°¡ µÇ½Ã³ª¿ä? ¾È µÇ½Ã¸é ¸î¹ø ´õ Àо½Ã°í Á¤ ¾È µÇ½Ã¸é ÀÎÀÚ·Î ³Ñ°Ü
ÁÖ´Â ºÎºÐ¸¸ ¾Ë¾ÆµÎ¼¼¿ä. swaparr ÇÔ¼ö¿Í swap ÇÔ¼öÀÇ ÀÎÀÚ°¡ ¿Ö ¶È°°ÀºÁö µî
¿¡ ´ëÇؼ Àǹ®ÀÌ »ý±æÁöµµ ¸ð¸£°Ú´Âµ¥¡¦
Èì. ¾Æ¹«·¡µµ ºÐ¼®À» Á» ÇÏ´Â°Ô ÁÁÀ» °Å °°³×¿ä. ÀÏ´Ü ¹è¿ iaÀÇ ½ÃÀÛ ¹øÁö
°¡ 50À̶ó°í ÇսôÙ. ±×·¯¸é ¸¶Áö¸· ¿ä¼ÒÀÎ 6ÀÇ ¹øÁö´Â 66ÀÌ µÇ°ÚÁö¿ä. ia[0]
µµ ¿ª½Ã 50ÀÏÅ×°í, ia[1]Àº 56, ia[2]´Â 62ÀÏ °Ì´Ï´Ù.
sortarr(ia, 3)¿¡¼ ia´Â 50ÀÌ°ÚÁö¿ä. sortarr ÇÔ¼ö¿¡¼ÀÇ ip´Â Æ÷ÀÎÅÍ º¯
¼öÀ̹ǷΠµû·Î ¸Þ¸ð¸® ¾îµò°¡¿¡ »ý¼ºÀÌ µÇ°Ú°í ±× °ªÀº 50ÀÌ µË´Ï´Ù. ±×¸®°í
´Â ·çÇÁ·Î 0ºÎÅÍ size-1±îÁö µ¹¸é¼ ÇöÀç ºÎºÐ ¹è¿ÀÇ Ã¹¹ø° °ª(ip[i][0])°ú
´ÙÀ½ ºÎºÐ ¹è¿ÀÇ Ã¹¹ø° °ª(ip[i + 1][0])À» ºñ±³ÇØ ¾ÕÀÇ °ªÀÌ Å©¸é ¼ø¼°¡
À߸øµÈ °ÍÀ̹ǷΠswaparr ÇÔ¼ö¸¦ ºÎ¸£Áö¿ä.
swaparr ÇÔ¼ö·Î ³Ñ¾î°¡´Â °ªÀº °¢ ºÎºÐ ¹è¿ÀÇ ¹è¿ »ó¼ö ÀÔ´Ï´Ù. ¿¹¸¦ µé
¾î i°¡ 0ÀÎ °æ¿ì¿¡µµ 3ÀÌ 2º¸´Ù Å©¹Ç·Î swaparrÀÌ ºÒ¸®´Âµ¥ ±× µÎ ÀÎÀÚÀÇ °ª
Àº 50°ú 56ÀÌ µÈ´Ù´Â °ÅÁö¿ä. ip¿Í iaÀÇ °ªÀÌ °°±â ¶§¹®¿¡ ip[0]°ú ip[1]µµ
°¢°¢ ia[0]°ú ia[1]°ú °°À¸´Ï±î¿ä. ip¿Í iaÀÇ Â÷ÀÌ´Â ´ÜÁö Å©±â¸¦ ¾Ë ¼ö ÀÖ´Â
Áö ¾ø´ÂÁöÀÇ Â÷À̶ó°í Çß¾úÁö¿ä. °¡Áö°í ÀÖ´Â °ªÀº Â÷ÀÌ°¡ ¾ø°í ¶È°°ÀÌ ¾î¶²
ÁÖ¼Ò¸¦ Æ÷ÀÎÆ®ÇÒ ¼ö ÀÖ´Â °ÍÀÌÁö¿ä.
ÀÌ·¸°Ô ³Ñ¾î¿Â 50°ú 56À̶ó´Â °ªÀÌ ip1, ip2¶ó´Â Æ÷ÀÎÅÍ º¯¼ö¿¡ µé¾î°¡°Ô
µÇ°ÚÁö¿ä. ±×¸®°í swaparr ÇÔ¼ö¿¡¼´Â []¿¬»êÀÚ¸¦ »ç¿ëÇØ °¢°¢ÀÇ intÇü ¿ä¼Ò
¿¡ Á¢±ÙÀ» ÇÏ°í ´Ù½Ã ±× ÁÖ¼Ò¸¦ ±¸ÇÕ´Ï´Ù. ±× ºÎºÐ¸¸ º¸µµ·Ï ÇÏÁö¿ä.
swap(&ip1[0], &ip2[0]);
ip1Àº { 3, 5, 2 }¶ó´Â ¹è¿À» °¡¸®Å°°í ÀÖ°í, ip2´Â { 2, 6, 8 }À̶ó´Â ¹è
¿À» °¡¸®Å°°í ÀÖ°ÚÁö¿ä. °á°úÀûÀ¸·Î ip1[0]Àº 3, ip2[0]Àº 2ÀÏ °Ì´Ï´Ù. ±×¸®
°í ´Ù½Ã °¢°¢ÀÇ ÁÖ¼Ò¸¦ ±¸ÇÏÁö¿ä. ½ÇÁ¦·Î swap ÇÔ¼ö¿¡ ³Ñ¾î°¡´Â °ªÀº 3°ú 2ÀÇ
ÁÖ¼ÒÀÎ 50°ú 56 ÀÔ´Ï´Ù. ±×¸®°í swap ÇÔ¼ö¿¡¼´Â *¿¬»êÀÚ¸¦ »ç¿ëÇØ µÎ ÁÖ¼ÒÀÇ
°ªÀ» ¼·Î ¹Ù²Ù°Ô µÇ´Â °ÅÁö¿ä.
¾î·Æ±ä ÇÏÁö¸¸, Çϳª¾¿ Â÷±ÙÂ÷±Ù »ý°¢ÇØ º¸¼¼¿ä.
¢Ä Æ÷ÀÎÅÍ ¹è¿
¿©Å±îÁö ¹è¿ÀÇ Æ÷ÀÎÅÍ ¶§¹®¿¡ ¸Ó¸® ¾ÆÆÄ Áװڴµ¥, ÀÌÁ¨ ¶Ç Æ÷ÀÎÅÍÀÇ ¹è
¿À̶ó´Ï¡¦ ==; ÇÏÁö¸¸ ¿ª½Ã Àß »ý°¢ÇØ º¸¸é º°°Ô ¾Æ´Õ´Ï´Ù. ==;
Æ÷ÀÎÅ͵µ ÀÚ·áÇüÀÇ ÇϳªÀÌÁö¿ä. °Ô´Ù°¡ Å©±âµµ ÀÏÁ¤ÇÏ°í(4 ¹ÙÀÌÆ®) ´Ü¼øÈ÷
ÇϳªÀÇ °ªÀ» °¡Áø º¯¼öÀÏ »ÓÀÔ´Ï´Ù. ±×ÃÝ? ±×·¸±â ¶§¹®¿¡ ¿ª½Ã ¹è¿ÀÌ µÉ¼öµµ
ÀÖ´Â °ÅÁö¿ä.
¿ì¼± ÀÌÂ÷¿ø ¹è¿À» º¸µµ·Ï ÇսôÙ. ´Ù¸¥°Ç Á¦ÃÄµÎ°í ¹®ÀÚ¿ ¹è¿¸¸À» °¡Áö
°í »ý°¢ÇØ º¸µµ·Ï ÇÏÁö¿ä.
char seoulgu1[10][16];
strcpy(seoulgu1[0], "Kangnam-gu");
strcpy(seoulgu1[1], "Mapo-gu");
strcpy(seoulgu1[2], "Chung-gu");
strcpy(seoulgu1[3], "Kwanak-gu");
strcpy(seoulgu1[4], "Nowon-gu");
strcpy(seoulgu1[5], "Seoungbuk-gu");
strcpy(seoulgu1[6], "Seocho-gu");
strcpy(seoulgu1[7], "Dobong-gu");
strcpy(seoulgu1[8], "Youngdeungpo-gu");
strcpy(seoulgu1[9], "Songpa-gu");
À§ÀÇ ¿¹¿¡¼ seoulgu1¶ó´Â ¹è¿ÀÌ Â÷ÁöÇÏ´Â ¸Þ¸ð¸®´Â °ú¿¬ ¾ó¸¶Àϱî¿ä? ±Ý
¹æ °è»êÀÌ µÇÁö¿ä? ^^ ¹Ù·Î 160 ¹ÙÀÌÆ® ÀÔ´Ï´Ù. °¡Àå ±ä "¿µµîÆ÷±¸"°¡ ³Î ¹®
ÀÚ±îÁö Æ÷ÇÔÇؼ 16ÀÚÀ̱⠶§¹®¿¡ ¹è¿·Î ÀâÀ»·Á¸é ÀÌ·¸°Ô ÇØ¾ß ÇÏ´Â °ÅÁö¿ä.
±×·±µ¥ °ú¿¬ ÀÌ°Í»ÓÀϱî¿ä? ¾Æ´Õ´Ï´Ù. Àü¿¡µµ ¸»¾¸µå·È´Ù½ÃÇÇ ¹®ÀÚ¿ÀÇ °æ¿ì
´Â µû·Î º¯¼ö¿¡¼ »ç¿ëµÇÁö ¾Ê¾Æµµ ÀÌ¹Ì ¸Þ¸ð¸®¿¡ ¿Ã¶ó¿Í ÀÖ½À´Ï´Ù. ±×·¯´Ï±î
À§ÀÇ ¹è¿ÀÌ µé¾îÀÖ´Â ¼Ò½º¸¦ ÄÄÆÄÀÏÇϸé Àú ¹®ÀÚ¿µé ÀÚü°¡ ½ÇÇà ÆÄÀÏ¿¡ Æ÷
ÇԵǰí Àú ¹è¿ÀÌ ¼±¾ðµÇ±âµµ ÀüºÎÅÍ ¸Þ¸ð¸®¿¡ Á¸ÀçÇÑ´Ù´Â °ÍÀÔ´Ï´Ù. ±×·¸±â
¶§¹®¿¡ µû·Î 105 ¹ÙÀÌÆ®ÀÇ ¸Þ¸ð¸®°¡ ÇÊ¿äÇÏ´Ù´Â °ÍÀÌÁö¿ä.
À̹ø¿¡´Â Æ÷ÀÎÅÍÀÇ ¹è¿·Î »ý°¢ÇØ º¾½Ã´Ù. ¿ì¸®°¡ óÀ½¿¡ ¹®ÀÚ¿ ¹è¿¿¡ ´ë
Çؼ ´Ù·ê ¶§ ´ÙÀ½°ú °°ÀÌ ½è¾úÁö¿ä.
char *sp = "Love";
ÀÌ¹Ì ¾Æ½Ã°ÚÁö¸¸ sp¿¡´Â ´Ü 5¹ÙÀÌÆ® ¸¸ÀÌ ÇÒ´çµÇ¾ú½À´Ï´Ù. ±×ÃÝ? ¹°·Ð sp¶ó
´Â Æ÷ÀÎÅÍ º¯¼ö°¡ Â÷ÁöÇÏ´Â 4¹ÙÀÌÆ®°¡ µû·Î Àֱ⠶§¹®¿¡ ½ÇÁ¦·Î´Â 9¹ÙÀÌÆ®°¡
»ç¿ëµÇ¾ú°ÚÁö¿ä. ÀÌ °æ¿ìµµ ¿ª½Ã "Love"°¡ ½ÇÇà ÆÄÀÏ¿¡ Æ÷ÇԵǾî Æ÷ÀÎÅÍ º¯¼ö
sp°¡ ¼±¾ðµÇ±â ÀüºÎÅÍ ¸Þ¸ð¸®¿¡ ¿Ã¶ó¿Í ÀÖ½À´Ï´Ù. ±×·±µ¥ sp´Â Æ÷ÀÎÅÍ º¯¼öÀÌ
±â ¶§¹®¿¡ "Love"°¡ Á¸ÀçÇÏ´Â ¸Þ¸ð¸®ÀÇ ÁÖ¼Ò°¡ Á÷Á¢ ´ëÀԵDZ⠶§¹®¿¡ À§ÀÇ ¿¹
Á¦Ã³·³ µû·Î ¸Þ¸ð¸®¸¦ ÇÒ´çÇÏÁö ¾Ê´Â´Ù´Â °ÍÀÌÁö¿ä.
char *seoulgu2[10];
seoulgu2[0] = "Kangnam-gu";
seoulgu2[1] = "Mapo-gu";
seoulgu2[2] = "Chung-gu";
seoulgu2[3] = "Kwanak-gu";
seoulgu2[4] = "Nowon-gu";
seoulgu2[5] = "Seoungbuk-gu";
seoulgu2[6] = "Seocho-gu";
seoulgu2[7] = "Dobong-gu";
seoulgu2[8] = "Youngdeungpo-gu";
seoulgu2[9] = "Songpa-gu";
ÀÌ °æ¿ì´Â À§ÀÇ ¹®ÀÚ¿µéÀÌ ½ÇÁ¦·Î Â÷ÁöÇÑ 105¹ÙÀÌÆ®¿¡ ¹®ÀÚ¿ Æ÷ÀÎÅÍ 10°³
ÀÎ 40¹ÙÀÌÆ®¸¸ ´õÇϸé À§ÀÇ ¿¹Á¦°¡ »ç¿ëÇÑ ÃÑ ¸Þ¸ð¸® Å©±â°¡ °è»êµÈ´Ù´Â °ÍÀÌ
Áö¿ä. ÈξÀ È¿À²ÀûÀÎ °ÍÀ» ¾Ë ¼ö ÀÖ½À´Ï´Ù.
¿©±â¼ ÇÑ°¡Áö ÁÖÀÇÇÒ Á¡ÀÌ ÀÖ½À´Ï´Ù. ´ÙÀ½°ú °°Àº Äڵ尡 ÀÖ´Ù°í ÇսôÙ.
char seoulgu1[10][16], *seoulgu2[10];
strcpy( ... );
...
seoulgu2 = seoulgu1;
ÃʱâÈ°¡ ¸ðµÎ µÈ ÀÌÂ÷¿ø ¹è¿ÀÎ seoulgu1¸¦ ÀÏÂ÷¿ø ¹è¿ Æ÷ÀÎÅÍ seoulgu2
¿¡ ´ëÀÔÀ» Çϳ׿ä. ÀÌ°Ô °¡´ÉÇÒ±î¿ä? ºÒ°¡´ÉÇÑ °ÍÀÔ´Ï´Ù. ´ÙÀ½À» º¸¼¼¿ä.
char (*sp)[3];
char *sp[3];
À§ÀÇ ³»¿ëÀº Àü¿¡ ¹è¿üµíÀÌ ºÎºÐ ¹è¿ÀÇ ¿ä¼ÒÀÇ °³¼ö°¡ 3°³ÀÎ ÀÌÂ÷¿ø ¹è¿
ÀÇ Æ÷ÀÎÅÍÀÌÁö¿ä. ¾Æ·¡ÀÇ ³»¿ëÀº ¹æ±Ý ¹è¿î °Íó·³ Æ÷ÀÎÅ͸¦ 3°³ ´ãÀ» ¼ö ÀÖ
´Â ÀÏÂ÷¿ø Æ÷ÀÎÅÍ ¹è¿ ÀÔ´Ï´Ù. ±¸ºÐÀÌ °¡½Ã³ª¿ä? °ýÈ£ Çϳª »©³õ°í ÀüºÎ ¶È
°°Áö¸¸ Àǹ̴ ÆÇÀÌÇÏ°Ô ´Ù¸¨´Ï´Ù. ±×¸²À¸·Î º¸µµ·Ï ÇÏÁö¿ä.
char (*sp)[3];
sp [0] [1] [2]
¦®¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¯ ¦®¦¬¦³¦¬¦³¦¬¦¯
¦ ¦ ¦ ¦ ¦²¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¢º¦ ¦ ¦ ¦[0]
¦±¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦° ¦²¦¬¦¶¦¬¦¶¦¬¦´
¦ ¦ ¦ ¦[1]
¦²¦¬¦¶¦¬¦¶¦¬¦´
¡¤ ¡¤ ¡¤
¡¤ ¡¤ ¡¤
char *sp[3];
sp
¦®¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¯ sp[0] ¦®¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬¦³
¦ ¦ ¦ ¦ ¦²¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¢º¦ ¦ ¦ ¦ ¦ ¦ ¦¡¦
¦²¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦´ ¦±¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ
¦ ¦ ¦ ¦ ¦²¦¬¦¬¦¬¦¬¦¬¦¯ sp[1] ¦®¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬¦³
¦²¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦´ ¦±¦¬¦¬¦¬¦¬¢º¦ ¦ ¦ ¦ ¦ ¦ ¦¡¦
¦ ¦ ¦ ¦ ¦²¦¬¦¬¦¬¦¯ ¦±¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ
¦±¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦° ¦ sp[2] ¦®¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬¦³
¦±¦¬¦¬¦¬¦¬¦¬¦¬¢º¦ ¦ ¦ ¦ ¦ ¦ ¦¡¦
¦±¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ
±»ÀÌ ´ëÀÔÀ» ÇÏ°í ½Í´Ù¸é seoulgu2[0] = seoulgu1[0] °°ÀÌ ÀÏÀÏÈ÷ ÇؾßÇÏÁö
¸¸, ±×·¯¸é Àǹ̰¡ ¸¹ÀÌ ¹Ù²î°Ô µÇ°ÚÁö¿ä.
Á¦°¡ ¿©±â¼ Æ÷ÀÎÅÍ ¹è¿ÀÌ ÀÌÂ÷¿ø ¹è¿º¸´Ù ¹«Áö¹«Áö ÁÁÀº °Íó·³ ¸»¾¸À»
µå¸®±ä ÇßÁö¸¸ Ç×»ó ±×·±°Ç °áÄÚ ¾Æ´Õ´Ï´Ù. seoulgu1¿¡ ¹®ÀÚ¿À» ´ëÀÔÇÒ ¶§
°¢°¢ÀÇ ¹®ÀÚ¿À» strcpy·Î ´ëÀÔÇÏÁö ¾Ê°í ¼±¾ð½Ã¿¡ ÃʱâÈ Çß´Ù°í ÇսôÙ.
char seoulgu1[10][16] = { "Kangnam-gu",
"Mapo-gu",
"Chung-gu",
"Kwanak-gu",
"Nowon-gu",
"Seoungbuk-gu",
"Seocho-gu",
"Dobong-gu",
"Youngdeungpo-gu",
"Songpa-gu" };
ÀÌ °æ¿ì¿¡ »ç¿ëµÇ´Â ¸Þ¸ð¸®´Â Á¤È®È÷ 160 ¹ÙÀÌÆ® ÀÔ´Ï´Ù. ¿ÖÀϱî¿ä? ¼±¾ð°ú
µ¿½Ã¿¡ ÃʱâÈ µÇ¸é seoulgu1Àº ±×´ë·Î ¹è¿ »ó¼ö·Î »ç¿ëµÇ¾î Æ÷ÀÎÅÍ ¹è¿Ã³
·³ ¸Þ¸ð¸®¿¡ Á¸ÀçÇÏ´Â ¹®ÀÚ¿µéÀ» Á÷Á¢ Æ÷ÀÎÆ®Çϱ⠶§¹®ÀÌÁö¿ä. ¶ÇÇÑ »ó¼öÀÌ
±â ¶§¹®¿¡ Æ÷ÀÎÅÍ ¹è¿Ã³·³ µû·Î ¸Þ¸ð¸®¸¦ Â÷ÁöÇÏÁöµµ ¾ÊÁö¿ä. ±×·¯¸é ÀÌÂ÷¿ø
¹è¿ÀÌ ´õ ÁÁÀº °É¼öµµ Àְڳ׿ä.
±×·¸½À´Ï´Ù. À̵éÀº »ç¿ëÇÏ´Â ¹æ¹ý µî¿¡ µû¶ó¼ °¢±â ´õ ÁÁÀ» ¼öµµ ÀÖ°í ´õ
³ª»Ü ¼öµµ ÀÖ´Â °ÍÀÌÁö¿ä. ÀÌÂ÷¿ø ¹è¿ÀÌ ´õ ÁÁÀº °æ¿ì´Â ¹®ÀÚ¿µéÀÇ ±æÀÌ°¡
Å©°Ô Â÷ÀÌ°¡ ³ªÁö ¾Ê´Â °æ¿ì ÀÔ´Ï´Ù. ¹Ý¸é¿¡ ¹®ÀÚ¿µéÀÇ ±æÀÌ°¡ Å©°Ô Â÷À̳ª
´Â °æ¿ì´Â ±× Å©±â°¡ ÀÏ°ýÀûÀ¸·Î ÀâÈ÷´Â ÀÌÂ÷¿ø ¹è¿º¸´Ù´Â ¹®ÀÚ¿µéÀÇ ±æÀÌ
¸¦ ¸ðµÎ ´Ù¸£°Ô ÀâÀ» ¼ö ÀÖ´Â Æ÷ÀÎÅÍ ¹è¿ÀÌ ´õ À¯¸®ÇÑ °ÍÀÌÁö¿ä.
¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬
¢Ä ¼¼¹ø° ½ºÅ͵𰡠³¡³µ½À´Ï´Ù. ´ÙÀ½ ½ºÅ͵𸦠±â´ëÇØ ÁÖ¼¼¿ä. ÀÌÇØ°¡ ¾È µÇ
½Ã´Â ³»¿ëÀ̳ª ±Ã±ÝÇÑ »çÇ×À̳ª ÇÏ¿©Æ° ¾Æ¹« ¸»ÀÌ¶óµµ ÇÏ°í ½ÍÀ¸½Ã¸é ¾ðÁ¦
¶óµµ ¸ÞÀÏ ÁÖ¼¼¿ä. (¿©Å±îÁö º¼·£µå¾¾¸¦ ±¸ÇÑ´Ù´Â ¸ÞÀÏ ÇÑÅëÀ» Á¦¿ÜÇÏ°í
´Â ´Ü ÇÑ Åëµµ ¾È ¿Ô³×¿ä. ´Ùµé Àß ¾Æ½Ã³ªºÁ¿ä. ´Ù ¾Æ½Ã´Âµ¥ ±¦È÷ ÇÏ´Â °Ç
¾Æ´ÒÁö¡¦ ==;)
¢Ä ´ÙÀ½ ¹®Á¦µéÀ» Çѹø Ç®¾î º¸¼¼¿ä.
¨ç ¹è¿ÀÇ Ã·ÀÚ°¡ 0¿¡¼ ½ÃÀÛÇÏ´Â ÀÌÀ¯´Â?
<ÈùÆ®> ¹è¿ÀÇ []¿¬»êÀÚ°¡ ½ÇÁ¦·Î´Â ¾î¶»°Ô »ç¿ëµÇ´ÂÁö »ý°¢ÇØ º¸¼¼¿ä.
¨è int a[6];
a[0] = 1[a] = *(a + 2) = *(3 + a) = 0;
4[a] = "ABC"[0];
a[5] = 1["DEF" + 1];
À§ÀÇ ¿¹¿¡¼ aÀÇ °¢ ¿ä¼Ò 0ºÎÅÍ 5±îÁöÀÇ °ªÀ» ¿¹»óÇØ º¸¼¼¿ä.
¨é char *sp = "School of Computing";¿¡¼ puts ÇÔ¼ö·Î "Computing"¸¸ Ãâ
·ÂÇØ º¸¼¼¿ä.
¨ê Áõ°¡ ¿¬»êÀÚ¸¦ »ç¿ëÇØ ¹®ÀÚ¿ÀÇ ±æÀ̸¦ °è»êÇÏ´Â ÇÔ¼ö¸¦ ¸¸µå¼¼¿ä.
¨ë int ia[2][3][4];¿¡¼ iaÀÇ ÁÖ¼Ò°¡ 30À̶ó°í ÇÒ¶§ ´ÙÀ½ °¢°¢ÀÇ ÁÖ¼Ò¿Í
ŸÀÔ, Å©±â¸¦ ¿¹»óÇØ º¸¼¼¿ä.
=> ia[1], ia[0][3], ia[1][2][0], ia[0], ia[0][1]
¨ì ´ÙÀ½°ú °°Àº ÇüÅÂÀÇ ¹®ÀÚ¿ ¹è¿À» ÇÒ´çÇÏ´Â ¹æ¹ýÀ» »ý°¢ÇØ º¸¼¼¿ä.
[0] [1] [2] [3] [4] [5] [6] [7] [8]
¦®¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬¦¯
[0]¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦
¦²¦¬¦¶¦¬¦¶¦¬¦¶¦¬¦¶¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦°
[1]¦ ¦ ¦ ¦ ¦
¦²¦¬¦¶¦¬¦¶¦¬¦¶¦¬¦¶¦¬¦³¦¬¦³¦¬¦¯
[2]¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦
¦²¦¬¦¶¦¬¦¶¦¬¦¶¦¬¦¶¦¬¦¶¦¬¦¶¦¬¦°
[3]¦ ¦ ¦ ¦ ¦ ¦ ¦
¦±¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦°
¢Ä Á¤´ä(?)Àº ´ÙÀ½ ½Ã°£¿¡¡¦ ^^;
¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬
¡ºÇÁ·Î±×·¡¹Ö ¾ð¾î °ÁÂ-C,C++,VC °Á (go PROG)¡» 1589¹ø
Á¦ ¸ñ:[°ÁÂ] Æ÷ÀÎÅÍ ½ºÅ͵ð [4/8] -½Å°æÈ£
¿Ã¸°ÀÌ:ÆÄÀÌ»ç¶û(½Å°æÈ£ ) 00/01/26 23:58 ÀÐÀ½:202 °ü·ÃÀÚ·á ¾øÀ½
-----------------------------------------------------------------------------
¡º¹è¿òÅÍ-°Á (go SSCS)¡» 29¹ø
Á¦ ¸ñ:[°ÁÂ] Æ÷ÀÎÅÍ ½ºÅ͵ð [4/8] -½Å°æÈ£
¿Ã¸°ÀÌ:ÆÄÀÌ»ç¶û(½Å°æÈ£ ) 00/01/23 23:35 ÀÐÀ½: 4 °ü·ÃÀÚ·á ¾øÀ½
-----------------------------------------------------------------------------
¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬
¡á Æ÷ÀÎÅÍ ½ºÅ͵ð [4] ¡á
¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬
[990210 ÆÄÀÌ»ç¶û]
¾È³çÇϼ¼¿ä. Áö³ ½ºÅ͵𸦠¾²°í ¹ú½á ¿ÈêÀÌ ³Ñ°Ô Áö³µ³×¿ä. ±×µ¿¾È ÀÌ·±
Àú·± ÀÏ·Î °³ÀÎÀûÀ¸·Î Á» ¹Ùºü¼ ±ÛÀ» ¸ø ½è½À´Ï´Ù. Á˼ÛÇÏ°í¿ä. ¿ì¼±Àº Áö³
½Ã°£ ¹®Á¦ÀÇ Á¤´äºÎÅÍ¡¦
¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬
¡á Á¤´ä Ç®ÀÌ ¡á
¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬
¨ç ¹è¿ÀÇ Ã·ÀÚ°¡ 0¿¡¼ ½ÃÀÛÇÏ´Â ÀÌÀ¯´Â?
¢º ÈùÆ®¿¡¼ ¹è¿ÀÇ []¿¬»êÀÚ°¡ ½ÇÁ¦·Î´Â ¾î¶»°Ô Àü°³µÇ´ÂÁö¸¦ »ý°¢ÇØ º¸¶ó°í
Çß¾úÁö¿ä. "*(Æ÷ÀÎÅͺ¯¼ö + ¼ýÀÚ)"¿Í °°Àº ÇüÅ·ΠÀü°³µÇ±â ¶§¹®¿¡ ¸¸¾à¿¡
ù ÷ÀÚ°¡ 1À̶ó¸é À§ Àü°³½Ä¿¡¼ÀÇ ¼ýÀÚ¿Í ¹è¿ÀÇ Ã·ÀÚ°¡ Á÷Á¢ÀûÀ¸·Î ¸Å
Ä¡°¡ µÇÁö ¾Ê°ÚÁö¿ä. ¾Æ¹«·¡µµ ¸ÅÄ¡°¡ µÇ´Â °ÍÀÌ °³³äÀûÀ¸·Î³ª ½ÇÁ¦ ÄÄÆÄ
ÀÏ·¯ ±¸Çö »óÀ¸·Î³ª À¯¸®ÇÑ°Ç ´ç¿¬ÇÒ °Ì´Ï´Ù.
¨è int a[6];
a[0] = 1[a] = *(a + 2) = *(3 + a) = 0;
4[a] = "ABC"[0];
a[5] = 1["DEF" + 1];
À§ÀÇ ¿¹¿¡¼ aÀÇ °¢ ¿ä¼Ò 0ºÎÅÍ 5±îÁöÀÇ °ªÀ» ¿¹»óÇØ º¸¼¼¿ä.
¢º µÎ¹ø° ½Ã°£¿£°¡ ´Ù·ç¾ú´ø ³»¿ë°ú À¯»çÇÏÁö¿ä. a[?], ?[a], *(a + ?)µîÀº
»ç½Ç»óÀº ¸ðµÎ µ¿ÀÏÇÑ ÄÚµå¶ó°í Çß¾úÁö¿ä. Áï µÑ°ÁÙÀÇ ÄÚµå´Â aÀÇ 0¹ø°
ºÎÅÍ 3¹ø° ±îÁöÀÇ ¿ä¼Ò¿¡ ¸ðµÎ 0À» ³ÖÀ¸¶ó´Â ÄÚµåÁö¿ä. ±× ´ÙÀ½ ÁÙÀº ¹®
ÀÚ¿ "ABC"ÀÇ 0¹ø°ÀÎ 'A'¸¦ a[4]¿¡ ³ÖÀ¸¶ó´Â ¾ê±â°í, ¸¶Áö¸· ÁÙÀº "DEF"
ÀÇ 2¹ø°ÀÎ "F"¸¦ a[5]¿¡ ³ÖÀ¸¶ó´Â ¾ê±â°ÚÁö¿ä. ÀÌÇØ°¡ ¾È°¡½Ã¸é ´Ù½Ã Àü
ÀÇ °Á¸¦ ã¾Æº¸¼¼¿ä.
¨é char *sp = "School of Computing";¿¡¼ puts ÇÔ¼ö·Î "Computing"¸¸ Ãâ·Â
ÇØ º¸¼¼¿ä.
¢º À̰͵µ ´Ù·ç¾ú´ø ³»¿ë ±×´ë·Î ÀÔ´Ï´Ù. 'C' ¹®ÀÚÀÇ Æ÷ÀÎÅ͸¦ puts ÇÔ¼ö·Î
³Ñ°ÜÁÖ¸é µÇ°ÚÁö¿ä. puts(&sp[10]); ÀÔ´Ï´Ù.
¨ê Áõ°¡ ¿¬»êÀÚ¸¦ »ç¿ëÇØ ¹®ÀÚ¿ÀÇ ±æÀ̸¦ °è»êÇÏ´Â ÇÔ¼ö¸¦ ¸¸µå¼¼¿ä.
¢º ÀÌ°É ¿ø·¡ ¹®ÀÚ¿ Æ÷ÀÎÅÍ ºÎºÐ¿¡¼ ¾ÕÀÇ ¹è¿À» ÀÌ¿ëÇÑ °Í°ú ºñ±³ÇØ ¼³¸í
À» ÇÒ±î ÇÏ´Ù°¡ ±×³É ¹®Á¦·Î ³Â´Âµ¥¿ä. ±×·¸°Ô ¾î·ÆÁö´Â ¾Ê¾ÒÀ» °Ì´Ï´Ù.
int my_strlen_ptr(char *sp) {
int len;
for (len = 0; *sp != '\0'; sp++, len++);
return len;
}
¨ë int ia[2][3][4];¿¡¼ iaÀÇ ÁÖ¼Ò°¡ 30À̶ó°í ÇÒ¶§ ´ÙÀ½ °¢°¢ÀÇ ÁÖ¼Ò¿Í Å¸
ÀÔ, Å©±â¸¦ ¿¹»óÇØ º¸¼¼¿ä.
=> ia[1], ia[0][3], ia[1][2][0], ia[0], ia[0][1]
¢º ¦®¦¬¦¬¦¬¦¬¦¬¦¬¦³¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦³¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦³¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¯
¦ ¦ ÁÖ¼Ò ¦ ŸÀÔ ¦ Å©±â ¦
¦²¦¬¦¬¦¬¦¬¦¬¦¬¦¶¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¶¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¶¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦´
¦ia[1] ¦ 54 ¦int[3][4] ¦ 24 ¦
¦ia[0][3] ¦ 54 ¦int[4] ¦ 8 ¦
¦ia[1][2][0] ¦ 70 ¦int ¦ 2 ¦
¦ia[0] ¦ 30 ¦int[3][4] ¦ 24 ¦
¦ia[0][1] ¦ 38 ¦int[4] ¦ 8 ¦
¦±¦¬¦¬¦¬¦¬¦¬¦¬¦µ¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦µ¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦µ¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦°
À§ÀÇ Ç¥·Î ¹Ì·ç¾î º¼¶§ ia[0][1][0]°ú ia[0][0][4]´Â °ªÀÌ µ¿ÀÏÇÏ°ÚÁö¿ä.
¾îÂ¥ÇÇ *()½ÄÀ¸·Î ¹Ù²ð¶§´Â µ¿ÀÏÇÑ °á°ú°¡ µÇ±â ¶§¹®¿¡ À§Ã³·³ ÀüÇô ´Þ¶ó
º¸ÀÌ´Â ½ÄÀÌ¶óµµ °°¾ÆÁú ¼ö°¡ ÀÖ½À´Ï´Ù. ´Ù½Ã ¸»¾¸µå¸®ÀÚ¸é C¿¡¼´Â ¹è¿
ÀÇ ¿ä¼Ò°¡ ¸î°³ÀÌ°Ç °£¿¡ []·Î ±× ¹ÛÀÇ ¹üÀ§±îÁöµµ ÂüÁ¶°¡ °¡´ÉÇÏ´Ù´Â °Í
ÀÌÁö¿ä. (¹°·Ð ±× ¹ÛÀÇ ¹üÀ§¸¦ ÂüÁ¶ÇÒ ÇÊ¿ä´Â ¾øÁö¸¸¡¦) ÀÌ·¸°Ô °¢ ¿ä¼Ò
ÀÇ Ã·ÀÚ¿Í ½ÇÁ¦ À§Ä¡°¡ Á¤È®È÷ 1:1·Î ¸ÅÄ¡°¡ µÇÁö´Â ¾Ê±â ¶§¹®¿¡ ´ÙÂ÷¿ø
¹è¿À» ¼±¾ðÇÒ ¶§ ´ÙÀ½°ú °°Àº »ç¿ë¹ýµµ °¡´ÉÇÕ´Ï´Ù.
int a[2][3] = { 1, 2, 3, 4, 5, 6 };
¿ø·¡´Â ¾Æ·¡¿Í °°ÀÌ ÇØ ÁÖ¾î¾ß ÇÏ°ÚÁö¿ä.
int a[2][3] = { { 1, 2, 3 }, { 4, 5, 6 } };
¨ì ´ÙÀ½°ú °°Àº ÇüÅÂÀÇ ¹®ÀÚ¿ ¹è¿À» ÇÒ´çÇÏ´Â ¹æ¹ýÀ» »ý°¢ÇØ º¸¼¼¿ä.
[0] [1] [2] [3] [4] [5] [6] [7] [8]
¦®¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬¦³¦¬¦¯
[0]¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦
¦²¦¬¦¶¦¬¦¶¦¬¦¶¦¬¦¶¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦°
[1]¦ ¦ ¦ ¦ ¦
¦²¦¬¦¶¦¬¦¶¦¬¦¶¦¬¦¶¦¬¦³¦¬¦³¦¬¦¯
[2]¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦
¦²¦¬¦¶¦¬¦¶¦¬¦¶¦¬¦¶¦¬¦¶¦¬¦¶¦¬¦°
[3]¦ ¦ ¦ ¦ ¦ ¦ ¦
¦±¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦µ¦¬¦°
¢º Æ÷ÀÎÅÍ ¹è¿À» »ç¿ëÇØ µ¿ÀûÀ¸·Î ÇÒ´çÇØ¾ß ÇÏ°ÚÁö¿ä.
char *ca[4];
ca[0] = (char *)malloc(9);
ca[1] = (char *)malloc(4);
ca[2] = (char *)malloc(7);
ca[3] = (char *)malloc(6);
¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬
¡á 4. Æ÷ÀÎÅÍÀÇ Æ÷ÀÎÅÍ ¡á
¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬
¢Ä ´ÙÁß Æ÷ÀÎÅÍ
À̹ø¿¡´Â Æ÷ÀÎÅÍÀÇ Æ÷ÀÎÅÍ ÀÔ´Ï´Ù. Á» º¹ÀâÇÒ °Å °°±âµµ ÇÏÁö¸¸¡¦ Á¦°¡ ´©
´©È÷ ¸»¾¸µå¸°°Ô ÀÖÁö¿ä. Æ÷ÀÎÅÍ´Â ´Ü¼øÈ÷ ±×³É ¼ýÀÚ Çϳª¸¦ ÀúÀåÇÏ´Â º¯¼ö¶ó
°í¿ä. Æ÷ÀÎÅÍ ÀÚüµµ º¯¼öÀ̱⠶§¹®¿¡ ¸Þ¸ð¸®¿¡ Á¸ÀçÇÏ°í ±× ÁÖ¼Ò°¡ Á¸ÀçÇÑ´Ù
´Â ¸»¾¸µµ ÀÌ¹Ì µå·È¾úÁö¿ä. ±×¸®°í ¿ª½Ã ±× ÁÖ¼Ò¸¦ °¡¸®Å°´Â Æ÷ÀÎÅ͵µ Á¸Àç
ÇÒ ¼ö ÀÖ´Â °ÅÁö¿ä.
int i = 3;
int *pi = &i;
int **ppi = π
¦®¦¬¦¬¦³¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¯
¦ÁÖ¼Ò¦ 41 42 50 51 52 53 74 75 76 77 78 ¦
¦ ¦ ¦³¦¬¦¬¦¬¦³ ¦³¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦³ ¦³¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦³¦¬¦³ ¦
¦ °ª ¦ ¦03¦00¦¡¦ ¡¦¦41¦00¦00¦00¦¡¦ ¡¦¦50¦00¦00¦00¦ ¦ ¦
¦ ¦ ¦µ¦¬¦¬¦¬¦µ ¦µ¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦µ ¦µ¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦µ¦¬¦µ ¦
¦À̸§¦ i pi ppi ¦
¦±¦¬¦¬¦µ¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦°
Æ÷ÀÎÅÍ¿¡ ´ëÇØ ¾È´Ù¸é ÀüÇô ¾î·Á¿î °³³äÀÌ ¾Æ´Õ´Ï´Ù. ±×ÃÝ?
int **ppi´Â int *(*ppi)¿Í °°Àº °ÍÀ̹ǷÎ, ¡ºint Æ÷ÀÎÅÍÇüÀÇ Æ÷ÀÎÅÍ º¯¼ö
ppi¡»°¡ µÇ´Â °ÍÀÌÁö¿ä. ¹°·Ð ÀÌ ppi º¯¼öÀÇ Æ÷ÀÎÅÍ º¯¼ö¸¦ ¸¸µå´Â °Íµµ °¡´É
ÇÏÁö¿ä.
int ***pppi = &ppi;
¹°·Ð ÀÌ·± °æ¿ì´Â °ÅÀÇ ¾²Áö ¾Ê½À´Ï´Ù. ÀÌÁß Æ÷ÀÎÅÍ(Æ÷ÀÎÅÍÀÇ Æ÷ÀÎÅÍ) Á¤µµ
±îÁö´Â °¡²û¾¿ ¾²´Â ÀÏÀÌ ÀÖÀ» °Ì´Ï´Ù. À§ÀÇ ³×°³ÀÇ ¼±¾ð °úÁ¤À» °ÅÃÆ´Ù¸é °¢
°¢ÀÇ º¯¼öÀÇ °ªÀº ´ÙÀ½°ú °°½À´Ï´Ù. (pppi´Â 80¹øÁöºÎÅÍ 83¹øÁö±îÁö¶ó°í °¡Á¤
ÇսôÙ)
¦®¦¬¦¬¦¬¦³¦¬¦¬¦¬¦¬¦¬¦¬¦³¦¬¦¬¦¬¦¬¦¬¦¬¦³¦¬¦¬¦¬¦¬¦¬¦¬¦³¦¬¦¬¦¬¦¬¦¬¦¬¦¯
¦ ¦ i ¦ pi ¦ ppi ¦ pppi ¦
¦²¦¬¦¬¦¬¦¶¦¬¦¬¦¬¦¬¦¬¦¬¦¶¦¬¦¬¦¬¦¬¦¬¦¬¦¶¦¬¦¬¦¬¦¬¦¬¦¬¦¶¦¬¦¬¦¬¦¬¦¬¦¬¦´
¦ &°ª ¦ 41 ¦ 50 ¦ 74 ¦ 80 ¦
¦ °ª ¦ 3 ¦ 41 ¦ 50 ¦ 74 ¦
¦ *°ª ¦ X ¦ 3 ¦ 41 ¦ 50 ¦
¦ **°ª ¦ X ¦ X ¦ 3 ¦ 41 ¦
¦ ***°ª¦ X ¦ X ¦ X ¦ 3 ¦
¦±¦¬¦¬¦¬¦µ¦¬¦¬¦¬¦¬¦¬¦¬¦µ¦¬¦¬¦¬¦¬¦¬¦¬¦µ¦¬¦¬¦¬¦¬¦¬¦¬¦µ¦¬¦¬¦¬¦¬¦¬¦¬¦°
À§ÀÇ Ç¥¸¦ Àß º¸¸é ¿ÞÂÊ À§¿¡¼ ¿À¸¥ÂÊ ¾Æ·¡ ¹æÇâÀ¸·Î °°Àº °ªÀ» °®´Â °ÍÀ»
º¼ ¼ö ÀÖÁö¿ä. &¿Í *ÀÇ °ü°èµµ ÇÑ´«¿¡ ¾Ë ¼ö ÀÖÀ» °Ì´Ï´Ù. ±×·±µ¥ ¿Ö *´Â ¼¼
°³¾¿µµ ¾²´Âµ¥ &´Â ÇÑ°³¹Û¿¡ ¾²Áö ¾ÊÀ»±î¿ä. &´Â º¯¼ö¿¡¸¸ ºÙÀÏ ¼ö Àֱ⠶§¹®
ÀÌÁö¿ä. ¸¸¾à &&i¶ó°í ¾²¸é &(&i)°¡ µÇ´Âµ¥ iÀÇ ÁÖ¼Ò´Â 41ÀÌ°í ÀÌ °ªÀº »ó¼ö
Áö¿ä. ±×·¸±â ¶§¹®¿¡ &´Â ¿©·¯°³¾¿ Áߺ¹Çؼ »ç¿ëÇÒ ¼ö°¡ ¾ø´Â °Ì´Ï´Ù.
±×·¯¸é ÀÌ·± ´ÙÁß Æ÷ÀÎÅ͸¦ ¿Ö »ç¿ëÇÏ´Â °É±î¿ä? ÀÌÀü ½ºÅ͵ð ½Ã°£¿¡ ¼³¸í
µå·ÈµíÀÌ Æ÷ÀÎÅÍ ¹è¿Àº int *[] °°Àº ÇüŸ¦ °¡ÁöÁö¿ä. ÀÌ Æ÷ÀÎÅÍ ¹è¿ÀÇ Æ÷
ÀÎÅ͸¦ ¹Þ±â À§Çؼ´Â ÀÌÁß Æ÷ÀÎÅ͸¦ »ç¿ëÇؾ߸¸ ÇÕ´Ï´Ù. ÇÔ¼ö¿¡¼´Â ¹è¿ ÀÚ
ü¸¦ ¹ÞÁö ¸øÇÏ°í ±× Æ÷ÀÎÅ͸¦ ¹Þ´Â ¹æ¹ý¹Û¿¡ ¾øÀ¸´Ï±î¿ä.
¦®¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¯
¦ void printstrs(char **strs, int n) { ¦
¦ int i; ¦
¦ for (i = 0; i < n; i++) printf("%s\n", strs[i]); ¦
¦ } ¦
¦ ¦
¦ void main() { ¦
¦ char *strs[3] = { "Hello", "My name is", "pijean" }; ¦
¦ printstrs(strs, 3); ¦
¦ } ¦
¦²¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦´
¦ <°á°ú> ¦
¦ Hello ¦
¦ My name is ¦
¦ pijean ¦
¦±¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦°
¢Ä main ÇÔ¼öÀÇ ÀÎÀÚ
À§ÀÇ ¿¹Á¦¿Í °°Àº °æ¿ì¸¦ ÀÚÁÖ ½á¾ß ÇÏ´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù. ¹Ù·Î main ÇÔ¼ö
ÀÇ ÀÎÀÚ¸¦ ¹Þ´Â °æ¿ì ÀÔ´Ï´Ù. main ÇÔ¼ö´Â C¿¡¼ °¡Àå ±âº»ÀûÀÎ ÇÔ¼öÁö¿ä. ±×
·±µ¥ ÀÌ ÇÔ¼öµµ ÀÎÀÚ¸¦ ¹ÞÀ» ¼ö ÀÖ´Ù´Â °Í ¾Æ½Ã³ª¿ä? ¿ì¸®°¡ ¾î¶² ÇÁ·Î±×·¥À»
½ÇÇà½Ãų ¶§ ´ÙÀ½°ú °°ÀÌ ÇÏÁö¿ä. ¿¹¸¦ µé¾î ¾ÐÃàÀ» Ç®±â À§ÇØ ARJ¶ó´Â ÇÁ·Î
±×·¥À» ½ÇÇàÇÒ ¶§,
ARJ x pijean.arj *.*
¿ì¸®°¡ ¿©Å±îÁö ½è´ø void main()³ª void main(void)·Î´Â À§Ã³·³ ÁÖ¾îÁö´Â
°ªµéÀ» ÇÁ·Î±×·¥ ³»¿¡¼ »ç¿ëÇÒ ¼ö°¡ ¾ø¾ú½À´Ï´Ù. ±×·¸´Ù¸é ¾î¶»°Ô ÇØ¾ß ÇÒ±î
¿ä? ¹Ù·Î main ÇÔ¼öÀÇ ÀÎÀÚ¸¦ ´ÙÀ½°ú °°ÀÌ ÇØ ÁÖ¾î¾ß ÇÕ´Ï´Ù.
void main(int argc, char *argv[])
ù¹ø°ÀÇ argc´Â ÁÖ¾îÁö´Â °ªµéÀÇ °³¼ö ÀÔ´Ï´Ù. À§ÀÇ ARJ ¿¹Á¦ÀÇ °æ¿ì¿¡´Â
ÀÌ °ªÀÌ 4°¡ µË´Ï´Ù. óÀ½ÀÇ ARJ, Áï ÇÁ·Î±×·¥ÀÇ À̸§ ÀÚüµµ ÇϳªÀÇ ÀÎÀÚ·Î
º¸´Â °ÍÀÌÁö¿ä. argv´Â ÁÖ¾îÁö´Â ¹®ÀÚ¿ ¹è¿ÀÇ Æ÷ÀÎÅÍÀÌÁö¿ä. (¹°·Ð À§ÀÇ °æ
¿ì¿¡ argc¿Í argv °°Àº À̸§Àº ÇÁ·Î±×·¡¸Ó°¡ ¸¶À½´ë·Î Á¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¼ø
¼´Â ±×´ë·Î Çؾ߰ÚÁö¿ä)
argv[0] = "ARJ"
argv[1] = "x"
argv[2] = "pijean.arj"
argv[3] = "*.*"
À§¿Í °°´Ù´Â °ÍÀÌÁö¿ä. ±×·³ Çѹø ¼ýÀÚ¸¦ ¿©·¯°³ ÀÔ·Â ¹Þ¾Æ¼ ¸ðµÎ ´õÇؼ
Ãâ·ÂÇÏ´Â ÇÁ·Î±×·¥À» ¸¸µé¾î º¸¼¼¿ä. ¾î·ÆÁö ¾ÊÀ» °Ì´Ï´Ù.
¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬
¢Ä ³×¹ø° ½ºÅ͵ð´Â ª°Ô ³¡³Â½À´Ï´Ù. ±ÛÀÌ ³Ê¹« ±æ¾î¼ Àбâ Èûµé´Ù´Â ºÐµé
ÀÌ °è¼Å¼¿ä. ÀÌÁ¦ºÎÅÍ´Â °¡´ÉÇÏ¸é ±æÁö ¾Ê°Ô Çϵµ·Ï ÇÏÁö¿ä. À̱ۿ¡ ¹Ù·Î
ÀÌ¾î¼ Ã¹¹ø°ºÎÅÍ ³×¹ø° ½ºÅ͵ð±îÁöÀÇ ³»¿ëÀ» Á» Á¤¸®¡¤ºÎ¿¬¼³¸íÇؼ ¿Ã
¸®µµ·Ï ÇÏ°Ú½À´Ï´Ù.
¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬
¡ºÇÁ·Î±×·¡¹Ö ¾ð¾î °ÁÂ-C,C++,VC °Á (go PROG)¡» 1590¹ø
Á¦ ¸ñ:[°ÁÂ] Æ÷ÀÎÅÍ ½ºÅ͵ð [5/8] -½Å°æÈ£
¿Ã¸°ÀÌ:ÆÄÀÌ»ç¶û(½Å°æÈ£ ) 00/01/26 23:59 ÀÐÀ½:208 °ü·ÃÀÚ·á ¾øÀ½
-----------------------------------------------------------------------------
¾Ñ.. ÀÌ °Áµµ ¿Ã·Á¾ß Çϳª...? --;;;;
¡º¹è¿òÅÍ-°Á (go SSCS)¡» 30¹ø
Á¦ ¸ñ:[°ÁÂ] Æ÷ÀÎÅÍ ½ºÅ͵ð [5/8] -½Å°æÈ£
¿Ã¸°ÀÌ:ÆÄÀÌ»ç¶û(½Å°æÈ£ ) 00/01/23 23:36 ÀÐÀ½: 4 °ü·ÃÀÚ·á ¾øÀ½
-----------------------------------------------------------------------------
¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬
¡á Æ÷ÀÎÅÍ ½ºÅ͵ð [5] ¡á
¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬
[990210 ÆÄÀÌ»ç¶û]
¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬
¡á 5. Á¤¸® [1] (µ¿È¼ÓÀÇ Æ÷ÀÎÅÍ? ==;) ¡á
¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬
¢Ä Æ÷ÀÎÅͶõ
º¯¼ö´Â ¸Þ¸ð¸®¿¡ ¾î¶² À§Ä¡¿¡ ÀúÀåÀÌ µÇ°í ±× À§Ä¡¸¦ ¡ºÁÖ¼Ò¡»¶ó°í ÇÕ´Ï´Ù.
ÁÖ¼Ò¸¦ ´Ù¸¥ ¸»·Î ¡ºÆ÷ÀÎÅÍ »ó¼ö¡»³ª ±×³É ¡ºÆ÷ÀÎÅÍ¡»¶ó°í Çϱ⵵ ÇÏÁö¿ä. ±×
³É ¿ì¸®°¡ »ç´Â ÁýÀÇ ÁÖ¼Ò¸¦ »ý°¢ÇÏ¸é µË´Ï´Ù. ÆÄÀÌ³× ÁÖ¼Ò´Â 122-81¹øÁö. ^^
ÀÌ ÁÖ¼Ò(Æ÷ÀÎÅÍ »ó¼ö)¸¦ ÀúÀåÇÏ´Â º¯¼ö°¡ ¡ºÆ÷ÀÎÅÍ º¯¼ö¡» ÀÔ´Ï´Ù. ÀÌ°Í ¿ª
½Ã ÀϹÝÀûÀ¸·Î ¡ºÆ÷ÀÎÅÍ¡»¶ó°íµµ ºÎ¸¨´Ï´Ù. (ÀÌÈĺÎÅÍ´Â Æ÷ÀÎÅÍ »ó¼ö¿Í Æ÷ÀÎ
ÅÍ º¯¼ö¸¦ ¶È°°ÀÌ Æ÷ÀÎÅͶó°í »ç¿ëÇÏ´Â °æ¿ì°¡ ¸¹À» °Ì´Ï´Ù) 122-81 ¹øÁö¶ó´Â
ÁÖ¼Ò°¡ ÀûÈù Á¾ÀÌ·Î ÆÄÀÌ³× ÁýÀ» ã´Â´Ù°í ÇÒ¶§ ±× Á¾ÀÌ°¡ Æ÷ÀÎÅÍ º¯¼ö°¡ µÇ
´Â °ÍÀÌÁö¿ä.
¾Æ½Ã´Ù½ÃÇÇ Æ÷ÀÎÅÍ´Â ÀϹÝÀûÀ¸·Î 4¹ÙÀÌÆ®ÀÇ Å©±â¸¦ °¡Áö¸ç ŸÀÔ ¶ÇÇÑ °¡Áý
´Ï´Ù. ÀÌ Å¸ÀÔÀº Æ÷ÀÎÅÍ ÀÚü¿Í´Â °ü°è°¡ ¾øÁö¸¸, ±× Æ÷ÀÎÅÍ°¡ °¡¸®Å°´Â ¸Þ¸ð
¸®³ª º¯¼öÀÇ °ª¿¡ Á¢±ÙÇÒ ¶§ Æ÷ÀÎÅÍÀÇ Å¸ÀÔÀÇ Å©±â ¸¸ÅÀ» Àоî¿À°Å³ª ¾²°ÔµÇ
´Â °ÍÀÌÁö¿ä. Áýµéµµ ¾ÆÁÖ¾ÆÁÖ Å« °æ¿ì´Â ¿©·¯°³ÀÇ ÁÖ¼Ò¸¦ °¡Áö±âµµ ÇÏÁÒ. ±×
°Å¶û ¶È°°½À´Ï´Ù. ÆÄÀÌ³× ÁýÀÌ ¾ÆÁÖ¾ÆÁÖ Ä¿¼ 122-81, 122-82¹øÁö¸¦ °¡Áø´Ù°í
ÇÒ¶§ ÆÄÀÌ³× ¿·ÁýÀÇ ÁÖ¼Ò´Â 122-83¹øÁö°¡ µÇ´Â °Å°ÚÁö¿ä. ÆÄÀÌ³× ÁýÀÇ 122-82
¹øÁö´Â ¾µ ÇÊ¿ä°¡ ¾ø°Ô µË´Ï´Ù. 122-81¹øÁö¸¸À¸·Îµµ ãÀ» ¼ö ÀÖÀ¸´Ï±î¿ä.
Æ÷ÀÎÅÍ º¯¼ö´Â ŸÀÔ¿¡ *¸¦ ºÙ¿©¼ ¼±¾ð ÇÕ´Ï´Ù. ±× ŸÀÔÀÇ º¯¼ö¸¦ °¡¸®Å°´Â
º¯¼ö¶ó´Â °ÍÀÌÁö¿ä. À̶§ÀÇ Å¸ÀÔÀº C°¡ ±âº»ÀûÀ¸·Î Á¦°øÇÏ´Â °Í ÀÌ¿Ü¿¡ Á÷Á¢
¸¸µç ŸÀÔµµ ¸ðµÎ °¡´ÉÇÕ´Ï´Ù.
*¿¬»êÀÚ´Â Æ÷ÀÎÅÍ°¡ °¡¸®Å°´Â ¸Þ¸ð¸®³ª º¯¼öÀÇ °ª¿¡ Á¢±ÙÇÒ ¶§ »ç¿ëÇÕ´Ï´Ù.
ÁÖ¼Ò¸¦ ÅëÇؼ °ª¿¡ Á¢±ÙÇÏ´Â ¿¬»êÀÚ¶ó´Â °ÍÀÌÁö¿ä. ¿ìÆí Áý¹è¿ø ¾ÆÀú¾¾¶ó°í
»ý°¢À» ÇÏ¸é ½±½À´Ï´Ù. ¾ÆÆÄÆ® °°Àº °÷Àº ´Ù¸£Áö¸¸, ÀÏ¹Ý °¡Á¤ÁýÀ» ¿ì¸®°¡ ÁÖ
¼Ò¸¸ °¡Áö°í ã¾Æ´Ù´Ï±â´Â ¸Å¿ì Èûµì´Ï´Ù. ¿ì¸®°¡ ÀÏ¹Ý °¡Á¤ÁýÀ¸·Î ÆíÁö¸¦ ½è
´Ù°í ÇÒ¶§ ¿ìÆí Áý¹è¿ø ¾ÆÀú¾¾´Â ±× ÁÖ¼ÒÀÇ ÁýÀ» ¹Ù·Î ã¾Æ¼ ÆíÁö¸¦ ¹è´ÞÇØ
ÁÖ´Â °ÍÀÌÁö¿ä. (ÇÖÇÖ. ½ºÅ͵𠳻¿ëÀÌ µ¿ÈƽÇØÁö´Â¡¦ ^^)
&¿¬»êÀÚ´Â ¹®Æжó°í »ý°¢ÇÏ¸é µË´Ï´Ù. ¹®Æп¡´Â ÁÖ¼Ò°¡ ÀûÇô ÀÖÁö¿ä. ¾î´À
ÁýÀÎÁö´Â ¾Æ´Âµ¥ ±× ÁÖ¼Ò¸¦ ¸ð¸¦¶§ ¿ì¸®´Â ¹®Æи¦ º¾´Ï´Ù. (¾î´À ÁýÀÎÁö ¾È´Ù
´Â °ÍÀº º¯¼öÀÇ À̸§À» ¾È´Ù´Â °Í°ú °°°ÚÁö¿ä. Áï &¿¬»êÀÚ´Â º¯¼ö¿¡¸¸ ºÙÀϼö
ÀÖ½À´Ï´Ù)
¢Ä ¹è¿°ú Æ÷ÀÎÅÍ
¹è¿Àº ÁýµéÀÌ ÇÑÁÙ·Î ÂÞ¿í À̾îÁ® ÀÖ´Ù°í »ý°¢ÇÏ¸é µË´Ï´Ù. ÀϹÝÀûÀÎ º¯¼ö
µéÀº Àú~ ³óÃÌÀÇ ½Ã°ñ ¸¶À»Ã³·³ ¶ç¾ö¶ç¾ö ¶³¾îÁ® ÀÖÁö¿ä. ±×·±µ¥ ÀÌ ¹è¿À̶õ
°ÍÀº ÇÑÁÙ·Î ÂÞ¿í ÀÖ´Â °æ¿ì ÀÔ´Ï´Ù. 1ÃþÂ¥¸® ÁýµéÀÌ ÇÑÁÙ·Î ÀÖ´Â ¸¶À»À» »ý
°¢ÇØ º¾½Ã´Ù. ¸¶À»ÀÇ À̸§Àº ½ÅÃÌ ÀÔ´Ï´Ù. ½ÅÃÌÀÇ Ã¹¹ø° ÁýÀÇ ÁÖ¼Ò°¡ 100¹ø
Áö¶ó°í ÇÏÁö¿ä. ¸¶À»¿¡ 10°³ÀÇ ÁýÀÌ ÀÖ´Ù°í ÇÏ¸é ½ÅÃÌ¿¡´Â 109¹øÁö±îÁöÀÇ ÁÖ
¼Ò°¡ Á¸ÀçÇÒ °Ì´Ï´Ù. (charÇü ¹è¿°ú ¶È°°Áö¿ä)
Áý ½ÅÃÌ[10];
char sinchon[10];
ÁýÀÌ 10°³ Á¸ÀçÇÏ´Â ½ÅÃÌÀ̶ó´Â ¸¶À»Àº À§Ã³·³ ¼±¾ðÇÏ¸é µÇ´Â °Ì´Ï´Ù. ^^;
½ÅÃÌ[0]Àº 100¹øÁöÀÇ ÁýÀÌ°í ½ÅÃÌ[1]Àº 101¹øÁöÀÇ ÁýÀÌÁö¿ä. ±×¸®°í ¿ì¸®°¡
±×³É ½ÅÃÌÀ̶ó°í ÇÒ¶§´Â 100¹øÁöºÎÅÍ ½ÃÀÛÇϴϱî 100¹øÁö¸¦ ¸»ÇÏ´Â °ÍÀÌ µË´Ï
´Ù. *(½ÅÃÌ + 2)´Â ½ÅÃÌÀÇ ¹øÁöÀÎ 100¿¡¼ 2¸¸ÅÀ» ´õÇÑ 102¹øÁöÀÇ ÁýÀ» ¸»ÇÏ
´Â °Å°ÚÁö¿ä.
´ÙÀ½°ú °°Àº °æ¿ì¸¦ »ý°¢ÇØ º¾½Ã´Ù.
Å«Áý ´Þµ¿³×[10];
int daldongne[10];
´Þµ¿³×ÀÇ ÁýÀº ¸ðµÎµé ºÎÀÚ¶ó¼ 2°³¾¿ÀÇ ÁÖ¼Ò¸¦ °¡Áø´Ù°í ÇÏÁö¿ä. ´Þµ¿³×
ù¹ø° ÁýÀÇ ÁÖ¼Ò´Â 200¹øÁö ÀÔ´Ï´Ù. ±×·¸´Ù¸é ¿·ÁýÀÇ ÁÖ¼Ò´Â ´ç¿¬È÷ 202¹øÁö
°¡ µÇ´Â °Å°ÚÁö¿ä. (intÇü ¹è¿ÇÏ°í ¶È°°³×¿ä)
À§ÀÇ µÎ µ¿³×¿¡ ¿ìÆí Áý¹è¿ø ¾ÆÀú¾¾°¡ ¿ìÆí¹°À» ¹è´ÞÇÑ´Ù°í ÇսôÙ. °¢°¢ÀÇ
Áý¸¶´Ù Çϳª¾¿ÀÇ ¿ìÆí¹°ÀÌ ¿ÔÀ» ¶§ °¢ ÁýÀ» ¸ðµÎ ´Ù³à¾ß°ÚÁö¿ä. (¹è´ÞµÇ´Â ¿ì
Æí¹°Àº »ý°¢ÇÏÁö ¸¿½Ã´Ù. ==;)
Áý_¸¶À»¿¡_¹è´Þ(Áý_¸¶À» ÁÖ¼Ò) {
int À§Ä¡;
for (À§Ä¡=0; À§Ä¡<10; À§Ä¡++) ¹è´Þ(ÁÖ¼Ò[À§Ä¡]);
}
// void baedal_to_char_village(char *addr) {
// int pos;
// for (pos=0; pos<10; pos++) baedal(addr[pos]);
// }
Å«Áý_¸¶À»¿¡_¹è´Þ(Å«Áý_¸¶À» ÁÖ¼Ò) {
int À§Ä¡;
for (À§Ä¡=0; À§Ä¡<10; À§Ä¡++) ¹è´Þ(ÁÖ¼Ò[À§Ä¡]);
}
void main() {
Áý ½ÅÃÌ[10] = { °æ¼ö, Å°â, ÀÏÀçÇü, ±ÙÇÊÇü, µ¿Çö,
º´¼, »ó¿±, ¼º¼ö, ¼öÇå, ¿µÇö };
Å«Áý ´Þµ¿³×[10] = { ¿ëÇü, Àº¼º, ÅÂÇå, È¿Áß, °æÁØ,
Àμ®, Áö¿õ, ¸íÇö, Àç¿ø, ¹Î¿ì };
// ÀÃ. ³» ¾Õ¿¡¼ ©·È³×¡¦
Áý_¸¶À»¿¡_¹è´Þ(½ÅÃÌ);
Å«Áý_¸¶À»¿¡_¹è´Þ(´Þµ¿³×);
}
// char sinchon[10] = { ... };
// baedal_to_char_village(sinchon);
(ÀÌ·¸°Ô ½á³õ°í º¸´Ï À̾߱âÀÇ ¸ÅÅ©·Î³ª ¾¾¾ÑÀ̶ó´Â ¾ð¾î°¡ »ý°¢³ª³×¿ä. ÇÑ
±ÛÀ» »ç¿ëÇÑ ÇÁ·Î±×·¡¹Ö µµ±¸Àε¥ ¹ü¿ë¼ºÀÌ Á» ¶³¾îÁ®¼ ½ÇÆÐÇÑ ¾ð¾îÀÇ ÇÑ°¡
ÁöÁö¿ä.)
À§ÀÇ µÎ°³ÀÇ ¸¶À»¿¡_¹è´Þ ÇÔ¼ö´Â ¸ðµÎ ¶È°°Áö¸¸ °¢ ÁýÀÌ Â÷ÁöÇÏ´Â ÁÖ¼ÒÀÇ
¼ö°¡ ´Ù¸¥ °ÅÁö¿ä. ¿©±â¼ À§ÀÇ *() ¿¬»êÀÚ¸¦ Çѹø ´õ º¼±î¿ä.
(½ÅÃÌ + 4)¿Í *(½ÅÃÌ + 4)ÀÇ Â÷ÀÌÁ¡À» ¸»¾¸µå¸®Áö¿ä. ¾ÕÀÇ (½ÅÃÌ + 4)´Â µ¿
ÇöÀÌ³× "Áý"(=ÁÖ¼Ò) ÀÔ´Ï´Ù. ¾Æ½Ã°ÚÁö¿ä. ±× Áý¿¡ ÀÖ´Â »ç¶÷ÀÌ ¹Ù·Î µ¿ÇöÀÌÀÎ
°ÍÀÌ°í ÀÌ°É *(½ÅÃÌ + 4)·Î Ç¥ÇöÇÒ ¼ö ÀÖ°ÚÁö¿ä. ^^;
À§ÀÇ ¸¶À»¿¡_¹è´Þ ÇÔ¼ö¸¦ ++¿¬»êÀÚ¸¦ »ç¿ëÇØ ¹Ù²ãº¼±î¿ä.
Áý_¸¶À»¿¡_¹è´Þ(Áý_¸¶À» ÁÖ¼Ò, int Áý¼ö) {
for (; ÁÖ¼Ò<ÁÖ¼Ò+Áý¼ö; ÁÖ¼Ò++) ¹è´Þ(*ÁÖ¼Ò);
}
Å«Áý_¸¶À»¿¡_¹è´Þ(Å«Áý_¸¶À» ÁÖ¼Ò, int Áý¼ö) {
for (; ÁÖ¼Ò<ÁÖ¼Ò+Áý¼ö; ÁÖ¼Ò++) ¹è´Þ(*ÁÖ¼Ò);
}
Å«Áý_¸¶À»ÀÇ °æ¿ì´Â °¢ ÁýÀÌ 2°³ÀÇ ¹øÁö¸¦ °¡Áö¹Ç·Î ÁÖ¼Ò++¿¡¼ ÁÖ¼ÒÀÇ °ª
ÀÌ ½ÇÁ¦·Î´Â 2¾¿ ´Ã¾î³ª°Ô µÇ´Â °ÍÀÌÁö¿ä.
ÀÌÁ¦ µ¿Àû ÇÒ´ç¿¡ ´ëÇØ ¾Ë¾Æº¸µµ·Ï ÇÏÁö¿ä. ¿ì¸®°¡ ÀÌ¹Ì ¹è¿ü´Ù½ÃÇÇ ¸Þ¸ð¸®
ÀÇ µ¿Àû ÇÒ´çÀº mallocÀ» »ç¿ë ÇÕ´Ï´Ù. °¡²û calloc¶ó´Â ÇÔ¼ö°¡ »ç¿ëµÇ´Â °æ
¿ìµµ Àִµ¥ ÀÌ µÎ ÇÔ¼öÀÇ Â÷ÀÌÁ¡Àº, mallocÀº ±×³É ¸Þ¸ð¸®¸¦ ÇҴ縸 Çϴµ¥
¹ÝÇؼ callocÀº ÇÒ´çÇÑ ¸Þ¸ð¸®¸¦ ¸ðµÎ 0À¸·Î ÃʱâÈ ÇÑ´Ù´Â °ÍÀÔ´Ï´Ù. ´Ù½Ã
¸»Çؼ mallocÀ¸·Î ÇÒ´çÇÑ ¸Þ¸ð¸®¿¡´Â ÇÒ´çÇϱâ ÀüÀÇ °ªµéÀÌ ±×´ë·Î µé¾î ÀÖ
´Ù´Â °ÍÀÌÁö¿ä. calloc óÀ½ÀÇ c´Â clear Á¤µµ·Î »ý°¢Çصµ µÇ°ÚÁö¿ä.
µ¿Àû ÇÒ´çÀº ¸¶À»À» Çϳª »õ·Î ¸¸µç´Ù°í »ý°¢ÇÏ¸é µÇ°ÚÁö¿ä.
Áý_¸¶À» »õµ¿³× = (Áý_¸¶À»)malloc(sizeof(Áý)*10);
char *newvillage = (char *)malloc(sizeof(char)*10);
¢Ä ´ÙÂ÷¿ø ¹è¿
¾ÆÆÄÆ®¸¦ »ý°¢ÇØ º¾½Ã´Ù. °¢ Ãþº°·Î Åë·Î°¡ ÀÖ´Â ´ëÇü ¾ÆÆÄÆ®¸¦ º¸µµ·Ï ÇÏ
Áö¿ä. ¾ÆÆÄÆ® À̸§Àº ´©¸®¸¶À» À̶ó°í ÇսôÙ. (¿äÁòÀº ¾ÆÆÄÆ® À̸§À» ¸¶À»·Î
Áþ´Â °æ¿ì°¡ ¸¹ÀÌ ÀÖ´õ±º¿ä. ƯÈ÷ ½Åµµ½Ã¿¡ °¡º¸¸é¡¦) 5ÃþÀÇ ´©¸®¸¶À» ¾ÆÆÄÆ®
¿¡ °¢ Ãþº°·Î 10°³¾¿ÀÇ ÁýÀÌ ÀÖ´Ù¸é ¾ÆÆÄÆ® Àüü°¡ Â÷ÁöÇÏ´Â ÁÖ¼Ò´Â 50°³°¡
µÇ°ÚÁö¿ä. ±×¸®°í ´©¸®¸¶À» ¾ÆÆÄÆ® ùÁý 000È£ÀÇ ÁÖ¼Ò¸¦ 20À̶ó°í ÇսôÙ. ÀÌ
ÇØÇϱ⠽±µµ·Ï 0Ãþ, 0È£ºÎÅÍ ½ÃÀÛÇÏ°Ú½À´Ï´Ù.
Áý ´©¸®¸¶À»[5][10];
char nuri_village[5][10];
½±°Ô »ý°¢Çϱâ À§ÇØ Ãþº°·Î ³ª´©¾î º¾½Ã´Ù.
typedef Áý ´©¸®¸¶À»_°¢Ãþ[10];
typedef char nuri_village_chung[10];
ÀÌÁ¦ ´©¸®¸¶À»_°¢ÃþÀº 10°³ÀÇ ÁýÀ» °¡Áú ¼ö Àִ ŸÀÔÀÌ µÇ¾ú½À´Ï´Ù.
´©¸®¸¶À»_°¢Ãþ ´©¸®¸¶À»0Ãþ;
´©¸®¸¶À»_°¢Ãþ ´©¸®¸¶À»1Ãþ;
´©¸®¸¶À»_°¢Ãþ ´©¸®¸¶À»2Ãþ;
´©¸®¸¶À»_°¢Ãþ ´©¸®¸¶À»3Ãþ;
´©¸®¸¶À»_°¢Ãþ ´©¸®¸¶À»4Ãþ;
´©¸®¸¶À»_°¢Ãþ ´©¸®¸¶À»[5] = { ´©¸®¸¶À»0Ãþ, ´©¸®¸¶À»1Ãþ, ´©¸®¸¶À»2Ãþ,
´©¸®¸¶À»3Ãþ, ´©¸®¸¶À»4Ãþ };
// ½ÇÁ¦·Î ÀÌ·¸°Ô ³ª´©¾î¼ Á¶ÇÕÀ» ÇÒ¼ö´Â ¾ø½À´Ï´Ù.
// ±× ÀÌÀ¯´Â ¾Æ·¡¿¡ ¼³¸íÇϵµ·Ï ÇÏÁö¿ä.
¿ì¸®°¡ ±×³É ´©¸®¸¶À»À̶ó°í ÇÒ¶§ ´©¸®¸¶À»À» ´Ù¸¥ ¸¶À»µé°ú ±¸º°ÇÒ ¼ö ÀÖ
´Â À̸§ ÀÌ¿ÜÀÇ Ã´µµ°¡ ¹«¾ùÀÌ ÀÖÀ»±î¿ä. ¹Ù·Î ù¹ø° ÁýÀÇ ÁÖ¼Ò°¡ ÀÖ½À´Ï´Ù.
±×·¡¼ ±×³É ´©¸®¸¶À»À̶ó°í ¾²¸é 20°ú °°Àº °ÍÀÌ µÇ´Â °ÅÁö¿ä.
´©¸®¸¶À»0ÃþÀÇ °æ¿ì´Â ¾î¶²°¡¿ä. ³×. ¿ª½Ã 20 ÀÔ´Ï´Ù. ´©¸®¸¶À»1ÃþÀº 30ÀÌ
µÇ°Ú°í, ÀÌ·¸°Ô °è¼ÓÇؼ ´©¸®¸¶À»4ÃþÀº 60ÀÌ µÇ°ÚÁö¿ä. ±×·¸±â ¶§¹®¿¡ À§ÀÇ
ÄÚµåó·³ C¿¡¼ ³ª´©¾î¼ Á¶ÇÕÀ» ÇßÀ» °æ¿ì ´©¸®¸¶À»0ÃþÀº »ç½ÇÀº 20À̶ó´Â
°ªÀÏ »Ó ´©¸®¸¶À»0Ãþ 10°³ÀÇ Áý ÀÚü¸¦ ³ªÅ¸³»Áö ¾Ê±â ¶§¹®¿¡ ºÒ°¡´ÉÇÏ´Ù´Â
°ÍÀÌÁö¿ä. "*´©¸®¸¶À»1Ãþ"Àº ¾î¶³±î¿ä. ¿ª½Ã ºÒ°¡´É ÇÕ´Ï´Ù. À̷лóÀº °¡´É
ÇؾßÇÏÁö¸¸, ±×°Ô ±×·¸Áö ¾Ê´õ±º¿ä. ÀÏÂ÷¿ø ¹è¿ÀÇ ³»¿ëÀ» ÀÌÂ÷¿ø ¹è¿ÀÇ ºÎ
ºÐ¿¡ ³Ö°í ½ÍÀ» ¶§´Â Çϳª¾¿ º¹»ç¸¦ ÇØ ÁÖ¾î¾ß¸¸ ÇÕ´Ï´Ù.
char s1[10] = { ... };
char s2[10] = { ... };
char s[2][10];
s[0] = s1; // ÀÌ·¸°Ô´Â ¾ÈµÈ´Ù´Â °Ì´Ï´Ù.
s[0] = *s1; // ÀÌ·¸°Ôµµ ¾ÈµÇ¿ä.
C¿¡¼´Â ¹è¿À» Æ÷ÀÎÅÍ·Î ±¸ÇöÇÏ°í Àֱ⠶§¹®¿¡ ¹è¿À» Çѹø¿¡ Åë°·Î º¹»ç
¸¦ ÇÒ¼ö°¡ ¾ø±â ¶§¹® ÀÔ´Ï´Ù. ¹®ÀÚ¿ º¹»çµµ strcpy¶ó´Â º°µµÀÇ ÇÔ¼ö¸¦ ½á¼
³»ºÎÀûÀ¸·Î ÀÏÀÏÈ÷ º¹»çÇØ ÁÖ°í ÀÖÁö¿ä.
´Ù½Ã ¾ÕÀ¸·Î µ¹¾Æ°¡¼, ´©¸®¸¶À»[0]Àº 20, ´©¸®¸¶À»[1]Àº 30, ¡¦ ÀÌ·¸°Ô µÈ
´Ù°í Çß¾úÁö¿ä. ÀÌ·± °ÍµéÀ» ºÎºÐ ¹è¿À̶ó°í ÇÏ´Â °Ì´Ï´Ù. ´©¸®¸¶À»[0]Àº ´Ù
½Ã 10°³ÀÇ ÁýÀ̶ó´Â ¹è¿À» °¡Áö°í ÀÖÀ¸´Ï±î¿ä.
´©¸®¸¶À»[0][0]Àº 000È£, ´©¸®¸¶À»[0][1]Àº 001È£, ´©¸®¸¶À»[1][0]Àº 100È£
ó·³ »ý°¢ÇÏ¸é µË´Ï´Ù. *´©¸®¸¶À»[0]Àº 0Ãþ Àüü, *´©¸®¸¶À»[1]Àº 1Ãþ Àüü¡¦
ÀÌ·¸°Ô »ý°¢ÇÒ ¼öµµ ÀÖ°ÚÁö¿ä. ±×·³ *() ¿¬»êÀÚ¸¦ º¼±î¿ä.
*(*(´©¸®¸¶À» + 2) + 3)
À§ÀÇ ³»¿ëÀº ´©¸®¸¶À»[2][3]°ú °°´Ù´Â °Ç ¾Æ½Ç °Ì´Ï´Ù. Çϳª¾¿ ºÐ¼®ÇØ º¸µµ
·Ï ÇÏÁÒ.
´©¸®¸¶À» + 2´Â &´©¸®¸¶À»[2], ´©¸®¸¶À»2Ãþ°ú °°½À´Ï´Ù. ½ÇÁ¦ °ªÀº 40ÀÌÁö
¿ä. ¿©±â¿¡ *¸¦ ºÙÀÌ°Ô µÇ¸é ¹Ù·Î ´©¸®¸¶À»2Ãþ Àüü°¡ µÇ´Â °Ì´Ï´Ù. ±×ÃÝ? À§
ÀÇ ¿¬»ê½ÄÀ» ´Ù½Ã Çؼ®ÇØ º¸¸é ´ÙÀ½°ú °°½À´Ï´Ù.
*(*´©¸®¸¶À»2Ãþ + 3) = *(´©¸®¸¶À»2Ãþ_Àüü + 3)
±×³É ´©¸®¸¶À»2ÃþÀº ´©¸®¸¶À»2ÃþÀÇ ÁÖ¼Ò(½ÇÁ¦·Î´Â ùÁýÀÇ ÁÖ¼Ò°ÚÁÒ)¸¦ ¸»ÇÏ
°í, ´©¸®¸¶À»2Ãþ_Àüü´Â *´©¸®¸¶À»2Ãþ, Áï ´©¸®¸¶À»2ÃþÀÇ 10°³ÀÇ Áý ÀüºÎ¸¦ ¸»
ÇÕ´Ï´Ù.
ÀÌÁ¦ ´©¸®¸¶À» Àüü¿¡ ´ëÇؼ´Â »ý°¢ÇÒ ÇÊ¿ä ¾øÀÌ 2Ãþ¸¸ »ý°¢ÇսôÙ. ´©¸®¸¶
À»2Ãþ_Àüü¿¡ 3À» ´õÇÏ¸é ¹Ù·Î 2ÃþÀÇ ¼¼¹ø° ÁýÀÌ µÇ´Â °Å°ÚÁö¿ä. ¾î¶§¿ä? ÀÌ
ÇØ°¡ °¡½Ã³ª¿ä?
(*´©¸®¸¶À»2Ãþ)[3] = ´©¸®¸¶À»2Ãþ_Àüü[3] = ´©¸®¸¶À»[2][3]
ÀÌÁ¦ºÎÅÍ´Â ´ÙÂ÷¿ø ¹è¿ÀÇ Æ÷ÀÎÅ͸¦ º¸µµ·Ï ÇÏÁö¿ä. ¹Ù·Î À§¿¡¼ ¼³¸íÇÑ °Í
ÀÌ ´ÙÂ÷¿ø ¹è¿ÀÌÁö¿ä? ´©¸®¸¶À»ÀÇ Æ÷ÀÎÅÍ´Â ¹«¾ùÀΰ¡¿ä? ³×. 20 ÀÔ´Ï´Ù. ÀÌ
°ªÀ» ÀúÀåÇÒ Æ÷ÀÎÅÍ°¡ ´©¸®¸¶À»ÀÇ Æ÷ÀÎÅÍ º¯¼öÀÌÁö¿ä.
´©¸®¸¶À»_°¢Ãþ *´©¸®¸¶À»_Æ÷ÀÎÅÍ = ´©¸®¸¶À»
ÀÌ·¸°Ô ÇÏ¸é ´©¸®¸¶À»_Æ÷ÀÎÅÍÀÇ °ªÀº 20ÀÌ µÇ°í ´©¸®¸¶À»ÀÇ Ã¹¹ø° ÁýÀ» °¡
¸®Å°°Ô µÇ´Â °ÍÀÌÁö¿ä. ´ÙÂ÷¿ø ¹è¿ÀÇ Æ÷ÀÎÅÍ´Â ´ÙÂ÷¿ø ¹è¿À» ÇÔ¼ö¿¡ ³Ñ°ÜÁÙ
¶§ »ç¿ëÇÑ´Ù°í Çß½À´Ï´Ù. ¿ª½Ã ¿ìÆí Áý¹è¿ø ¾ÆÀú¾¾°¡ ´©¸®¸¶À»¿¡ ¹è´ÞÀ» ÇÑ´Ù
°í Çϸé,
´©¸®¸¶À»¿¡_¹è´Þ(Áý (*ÁÖ¼Ò)[10], int Ãþ¼ö)
// = ´©¸®¸¶À»¿¡_¹è´Þ(´©¸®¸¶À»_°¢Ãþ *ÁÖ¼Ò, int Ãþ¼ö)
int Ãþ, À§Ä¡;
for (Ãþ=0; Ãþ<Ãþ¼ö; Ãþ++)
for (À§Ä¡=0; À§Ä¡<10; À§Ä¡++) ¹è´Þ(ÁÖ¼Ò[Ãþ][À§Ä¡]);
}
À§¿Í °°ÀÌ µÇ´Â °ÍÀÌÁö¿ä. ÀÌÁ¦´Â Æ÷ÀÎÅÍ ¹è¿À» ¾Ë¾Æ º¾½Ã´Ù.
Æ÷ÀÎÅÍ ¹è¿Àº ¹» »ý°¢ÇØ º¼±î¿ä. ´ÙÀ̾ÀÇ ÁÖ¼Ò·ÏÀ» »ý°¢ÇØ º¾½Ã´Ù. ÁÖ
¼Ò·Ï¿¡´Â ¿©·¯ ÁýµéÀÇ ÁÖ¼Ò°¡ ÀûÇô ÀÖ°í °¢ ÁÖ¼ÒµéÀº ±× ÁÖ¼ÒÀÇ ÁýÀ» °¡¸®Å°
´Â ÀÏÁ¾ÀÇ Æ÷ÀÎÅÍ ÀÌÁö¿ä. À̵é ÁÖ¼Ò´Â ²À ÇϳªÀÇ Áýµé¸¸ °¡¸®Å³ ÇÊ¿äµµ ¾øÁö
¿ä. "´©¸®¸¶À» : 20¹øÁö" ÀÌ·¸°Ô ½á ³õ¾Ò´Ù¸é ´©¸®¸¶À» ¾ÆÆÄÆ® Àüü¸¦ Æ÷ÀÎÆ®
ÇÏ´Â °ÍÀÌ°í¡¦ ´õ ¾ê±âÇÒ °Íµµ ¾ø³×¿ä. ÁÖ¼Ò·Ï¡¦ ½±ÁÒ? ^^
char *ptr_ar[5];
// char (*ptr_ar)[5]¿Í´Â ±Ùº»ÀûÀ¸·Î ´Ù¸¨´Ï´Ù!
ptr_ar[0] = (char *)malloc(10);
ptr_ar[1] = (char *)malloc(15);
ptr_ar[2] = (char *)malloc(11);
ptr_ar[3] = (char *)malloc(52);
ptr_ar[4] = (char *)malloc(16);
Áö³ ½Ã°£¿¡ ¼³¸íµå¸° ¹®ÀÚ¿ Æ÷ÀÎÅÍ ¹è¿ÀÇ ÇÒ´ç ¹æ¹ý ±×´ë·ÎÁö¿ä.
Æ÷ÀÎÅÍÀÇ Æ÷ÀÎÅÍ. ÇæÇæ. ÀÌ°Í ¿ª½Ã¡¦ ´ÙÀ̾ ¾îµò°¡¿¡ "ÆÄÀ̳×Áý ÁÖ¼Ò´Â
ÆÄÀÌ ´ÙÀ̾ÀÇ ¸Ç ¸¶Áö¸·Àå¿¡ ½á ÀÖ´Ù"¶ó´Â ¹®±¸°¡ ÀÖ´Ù°í ÇÏÁÒ. ´ÙÀ̾
¸Ç ¸¶Áö¸·ÀåÀÇ ÁÖ¼Ò¶õ¿¡ ÀÖ´Â ÁÖ¼Ò´Â ¹Ù·Î ÆÄÀÌ³× ÁýÀ» °¡¸®Å°´Â Æ÷ÀÎÅÍÀÌ°í
À§¿¡¼ ¸»ÇÑ ¹®±¸´Â ±× Æ÷ÀÎÅ͸¦ °¡¸®Å°´Â Æ÷ÀÎÅÍÀÎ °ÅÁÒ.
¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬
¢Ä ´Ù¼¸¹ø° ½ºÅ͵ð´Â µ¿È ºÐÀ§±â°¡ dz±â´Â ¾à°£Àº ´À³¢ÇÑ ½Ã°£À̾ú´ø°Å °°
±º¿ä. ^^; ´ÙÀ½ ½Ã°£¿¡ º¸µµ·Ï ÇÏÁÒ. ´ÙÀ½ ½Ã°£¿¡´Â ±¸Á¶Ã¼¿¡ ´ëÇؼ¡¦
ÀÌ»Û ¸»¸¸ ¾²´Â ¼¼»óÀ» ¸¸µé°í ½ÍÀº ÆÄÀÌ°¡¡¦ ^^;
¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬
¡ºÇÁ·Î±×·¡¹Ö ¾ð¾î °ÁÂ-C,C++,VC °Á (go PROG)¡» 1591¹ø
Á¦ ¸ñ:[°ÁÂ] Æ÷ÀÎÅÍ ½ºÅ͵ð [6/8] -½Å°æÈ£
¿Ã¸°ÀÌ:ÆÄÀÌ»ç¶û(½Å°æÈ£ ) 00/01/26 23:59 ÀÐÀ½:201 °ü·ÃÀÚ·á ¾øÀ½
-----------------------------------------------------------------------------
¡º¹è¿òÅÍ-°Á (go SSCS)¡» 31¹ø
Á¦ ¸ñ:[°ÁÂ] Æ÷ÀÎÅÍ ½ºÅ͵ð [6/8] -½Å°æÈ£
¿Ã¸°ÀÌ:ÆÄÀÌ»ç¶û(½Å°æÈ£ ) 00/01/23 23:36 ÀÐÀ½: 4 °ü·ÃÀÚ·á ¾øÀ½
-----------------------------------------------------------------------------
¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬
¡á Æ÷ÀÎÅÍ ½ºÅ͵ð [6] ¡á
¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬
[990219 ÆÄÀÌ»ç¶û]
¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬
¡á 6. ±¸Á¶Ã¼, ÇÔ¼ö, ÆÄÀÏ°ú Æ÷ÀÎÅÍ ¡á
¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬
¢Ä ±¸Á¶Ã¼¿Í Æ÷ÀÎÅÍ
¾Æ½Ã´Ù½ÃÇÇ ±¸Á¶Ã¼´Â ¿©·¯°³ÀÇ ÀÚ·áÇüÀ» Çϳª·Î ¹¾î³õÀº ÅëÇÕ ÀÚ·áÇüÀÇ ÇÏ
³ª ÀÔ´Ï´Ù. ±¸Á¶Ã¼ ¿ª½Ã ÀÚ·áÇüÀ̱⠶§¹®¿¡ Æ÷ÀÎÅÍ »ç¿ë¿¡ À־µ ÀÏ¹Ý ÀÚ
·áÇüÀ» ´Ù·ç´Â °Í°ú ´Ù¸¦ °ÍÀÌ ¾ø½À´Ï´Ù. ´Ü ±¸Á¶Ã¼´Â ÀϹÝÀûÀ¸·Î Å©±â°¡ Å©
±â ¶§¹®¿¡ ÀÏ¹Ý ÀÚ·áÇü¿¡¼ ÈçÈ÷ »ç¿ëµÇ´Â call by value ´ë½Å¿¡ Æ÷ÀÎÅ͸¦ »ç
¿ëÇÑ call by reference°¡ ÁÖ·Î »ç¿ë µË´Ï´Ù. ÇÔ¼öÀÇ ÀÎÀÚ·Î ±¸Á¶Ã¼¸¦ ³Ñ±ä´Ù
°í ÇÒ¶§ ±¸Á¶Ã¼ Àüü°¡ ÀÎÀÚ¿¡ º¹»çµÇ±â ¶§¹®¿¡ ½Ã°£°ú °ø°£ »ç¿ëÀÌ ¸ðµÎ ºñ
È¿À²ÀûÀÌ µÇ±â ¶§¹®ÀÌÁö¿ä. ±¸Á¶Ã¼ÀÇ Æ÷ÀÎÅ͸¸À» °¡Áö°í Á¢±ÙÀ» ÇÏ´Â °ÍÀÌ ÈÎ
¾À È¿À²ÀûÀÓÀ» ¾Ë ¼ö ÀÖ½À´Ï´Ù.
¿ì¸®°¡ ¹è¿ÀÇ ¿ä¼Ò¿¡ Á¢±ÙÇÒ ¶§ [] ¿¬»êÀÚ¸¦ »ç¿ëÇϵíÀÌ ±¸Á¶Ã¼ÀÇ ¿ä¼Ò¿¡
Á¢±ÙÀ» ÇÒ·Á¸é Dot(.) ¿¬»êÀÚ¸¦ »ç¿ëÇÏÁö¿ä. ÇÏÁö¸¸ Dot ¿¬»êÀÚ´Â ±¸Á¶Ã¼ÀÇ
ÀνºÅϽºÈµÈ º¯¼ö¿¡¼¸¸ »ç¿ëÀÌ °¡´ÉÇÏ°í, ±¸Á¶Ã¼ÀÇ Æ÷ÀÎÅ͸¦ ÅëÇØ Á¢±ÙÇÏ°í
ÀÚ ÇÒ¶§´Â -> ¿¬»êÀÚ¸¦ »ç¿ë ÇÕ´Ï´Ù. ¸ðµÎ ¾Æ½ÃÁö¿ä? ^^
typedef struct grade_t {
int number;
int grade;
};
void swap_grade(grade_t *student1, grade_t *student2) {
grade_t temp;
temp.number = student1->number;
temp.grade = student1->grade;
student1->number = student2->number;
student1->grade = student2->grade;
student2->number = temp.number;
student2->grade = temp.grade;
}
void main(void) {
grade_t st1 = { 1, 100 };
grade_t st2 = { 2, 80 };
swap_grade(&st1, &st2);
// ...
}
¢Ä ÇÔ¼ö Æ÷ÀÎÅÍ
ÇÔ¼ö´Â ÄÄÆÄÀÏ ÇÒ¶§ ÄÄÇ»ÅÍ°¡ ¾Ë¾Æ µéÀ» ¼ö ÀÖ´Â ±â°è¾î Äڵ尡 µÇ°í ¿ì¸®
´Â ÈçÈ÷ ÀÌ°ÍÀ» ¸ñÀû ÄÚµå¶ó°í ºÎ¸¨´Ï´Ù. ¿ì¸®°¡ ÇÁ·Î±×·¥À» ½ÇÇàÇÒ ¶§ ÀÌ·±
¸ñÀû ÄÚµå´Â ¸Þ¸ð¸®¿¡ ¿Ã¶ó°¡¼ ½ÇÇàÀÌ µÇ°Ô µÇ´Â °ÅÁö¿ä. Áï ÇÔ¼öµµ ¸Þ¸ð¸®
¿¡ ÀûÀçµÇ±â ¶§¹®¿¡ ±× ¸Þ¸ð¸® ¹øÁö°¡ ÀÖ´Â °ÍÀÌÁö¿ä. ´ç¿¬È÷ ±× ÁÖ¼Ò¸¦ °¡¸®
Å°´Â Æ÷ÀÎÅ͵µ ¸¸µé ¼ö°¡ ÀÖ´Â °Ì´Ï´Ù.
ÇÔ¼ö Æ÷ÀÎÅÍ´Â Å©±â°¡ 4¹ÙÀÌÆ®ÀÌ°í ´ëºÎºÐÀÇ ¼Ó¼ºµµ ÀÏ¹Ý Æ÷ÀÎÅÍ¿Í µ¿ÀÏÇÏ
Áö¸¸ ¼±¾ðÇÒ ¶§ ¸¹ÀÌ ´Þ¶óÁö´Â °ÍÀ» ¾Æ½Ç °Ì´Ï´Ù. (½ÃÇè¿¡µµ ³ª¿Ô¾úÁö¿ä ^^)
void *func_ptr(void);
void (*func_ptr)(void);
À§ µÎ ¼±¾ðÀÇ Â÷ÀÌÁ¡À» ¾Æ½ÃÁÒ? ù¹ø° ¼±¾ðÀº ¸®ÅÏ°ªÀÌ void *ÀÌ°í ÀÎÀÚ°¡
ÇÊ¿ä¾ø´Â ÇÔ¼ö func_ptrÀ» ¼±¾ðÇÑ °Ì´Ï´Ù. µÎ¹ø° ¼±¾ðÀÌ ¹Ù·Î ÇÔ¼ö Æ÷ÀÎÅÍÀÇ
¼±¾ðÀÌÁö¿ä. ¸®ÅÏ°ªµµ ¾ø°í ÀÎÀÚµµ ÇÊ¿ä¾ø´Â ÇÔ¼ö¸¦ °¡¸®Å³ ¼ö ÀÖ´Â ÇÔ¼ö Æ÷
ÀÎÅÍ func_ptrÀÇ ¼±¾ð ÀÔ´Ï´Ù.
ÀÌ·¸°Ô ÇÔ¼ö Æ÷ÀÎÅÍ´Â ÀÏ¹Ý ÇÔ¼ö¸¦ ¼±¾ðÇÏ´Â °Í°ú ºñ½ÁÇÏ°Ô Ç쵂 À̸§°ú Æ÷
ÀÎÅÍ ¼±¾ð(*) ¾ÕµÚ¿¡ °ýÈ£¸¦ ºÙ¿©ÁÖ¾î¾ß ÇÑ´Ù´Â °ÅÁö¿ä. ±×·¯¸é ÇÔ¼ö Æ÷ÀÎÅÍ
´Â ¾îµð¿¡ ¾µ±î¿ä?
´ÙÀ½°ú °°Àº ÇÔ¼öµéÀÌ ÀÖ´Ù°í ÇսôÙ.
void putstring_moniter(char *str);
void putstring_printer(char *str);
À§ÀÇ ÇÔ¼ö´Â strÀ» ¸ð´ÏÅÍ·Î Ãâ·ÂÇÏ´Â ÇÔ¼ö, ¾Æ·¡ÀÇ ÇÔ¼ö´Â strÀ» ÇÁ¸°ÅÍ·Î
Ãâ·ÂÇÏ´Â ÇÔ¼ö¶ó°í °¡Á¤ÇÏÁö¿ä. À§ÀÇ ÇÔ¼öµéÀ» °¡¸®Å³ ¼ö ÀÖ´Â ÇÔ¼ö Æ÷ÀÎÅ͸¦
¸¸µé¾î º¾½Ã´Ù.
void (*putstring_ptr)(char *str) = NULL; // ÃʱⰪÀ» NULL·Î ÇÕ´Ï´Ù
void set_moniter(void) {
putstring_ptr = putstring_moniter;
}
void set_printer(void) {
putstring_ptr = putstring_printer;
}
set_moniter ÇÔ¼ö´Â putstring_ptrÀ» putstring_moniter·Î ¼¼ÆÃÇÏ°í ¾Æ·¡ÀÇ
set_printer ÇÔ¼ö´Â putstring_ptrÀ» putstring_printer·Î ¼¼ÆÃÇÏÁö¿ä. Ãʱâ
°ªÀ» NULL·Î ÇÑ ÀÌÀ¯´Â ÇÔ¼ö Æ÷ÀÎÅ͵µ ÀÏÁ¾ÀÇ º¯¼öÀ̱⠶§¹®¿¡ ÃʱâÈ°¡ µÇÁö
¾ÊÀ¸¸é ¾²·¹±â°ªÀÌ µé¾î°¡ ÀÖÀ» ¼öµµ Àֱ⠶§¹®ÀÌÁö¿ä. ¾²·¹±â °ªÀÌ µé¾î°¡´Â
°Ô ¹«½¼ »ó°üÀ̳İí¿ä? Á¶±Ý ÈÄ¿¡ ¼³¸íÇÏÁö¿ä. ´ÙÀ½ Äڵ带 º¸¼¼¿ä.
void putstring(char *str) {
if (putstring_ptr != NULL) (*putstring_ptr)(str);
}
ÀÌ·¸½À´Ï´Ù. ¾î¶§¿ä? º°·Î ¾È ¾î·ÆÁö¿ä? ÀÌ ÇÔ¼ö¸¦ »ç¿ëÇØ º¸ÁÒ.
set_moniter();
putstring("ÀÌ°Ç ¸ð´ÏÅÍ¿¡ Ãâ·Â µË´Ï´Ù");
set_printer();
putstring("ÀÌ°Ç ÇÁ¸°ÅÍ¿¡ Ãâ·Â µË´Ï´Ù");
À§ÀÇ putstring ÇÔ¼ö¿¡¼ (*putstring_ptr)(str)Àº putstring_ptr(str)ó·³
(*...)¸¦ »©°í »ç¿ëÇÒ ¼öµµ ÀÖ½À´Ï´Ù. C¿¡¼´Â ¸ðµç ÇÔ¼ö°¡ »ç½Ç»óÀº ±× Æ÷ÀÎ
Å͸¦ ÅëÇØ »ç¿ëµÇ±â ¶§¹®ÀÌÁö¿ä. (±×·¡¼ Æ÷ÀÎÅÍ¿¡ ÇÔ¼ö¸¦ ´ëÀÔÇÒ ¶§µµ µû·Î
& ¿¬»êÀÚ¸¦ »ç¿ëÇÏÁö ¾ÊÁö¿ä)
±×·±µ¥ ¸¸¾à set_... ÇÔ¼ö¸¦ ºÎ¸£Áö ¾Ê°í ÷ºÎÅÍ ±×³É putstring ÇÔ¼ö¸¦ ºÒ
·¶´Ù°í ÇսôÙ. putstring ÇÔ¼ö¿¡¼´Â putstring_ptrÀÌ NULLÀÎÁö ºñ±³¸¦ ÇÏÁö
¿ä. ³×, ±×·¸½À´Ï´Ù. putstring_ptrÀÌ NULL À϶§´Â ¾Æ¹«·± ÇÔ¼öµµ Æ÷ÀÎÅÍ¿¡
¿¬°áµÇÁö ¾Ê¾ÒÀ½À» ¶æÇÏ´Â °ÅÁö¿ä. ÀÌ°ÍÀ» ±¸ºÐÇϱâ À§Çؼ ÇÔ¼ö Æ÷ÀÎÅ͸¦ ¼±
¾ðÇÒ ¶§´Â ´ëºÎºÐÀÇ °æ¿ì ÃʱⰪÀ» NULL·Î ÇØ ÁÖ¾î¾ß ÇÏ´Â °ÅÁö¿ä.
ÀÌ·¸µí ÇÔ¼ö Æ÷ÀÎÅÍ´Â ÈçÈ÷ ¿©·¯°³ÀÇ ´ë»ó¿¡ °øÅëµÇ´Â ±â´ÉÀÌ Àû¿ëµÉ ¶§ È¿
À²ÀÌ ±Ø´ëÈ µÇ°ï ÇÕ´Ï´Ù. ¸¸¾à À§ÀÇ ¿¹Á¦¸¦ int dest¶ó´Â º¯¼ö¸¦ µÎ°í ¸ð´Ï
ÅÍ¿¡ Ãâ·ÂÇÏ°íÀÚ Çϸé dest¿¡ 1À», ÇÁ¸°ÅÍ¿¡ Ãâ·ÂÇÏ°íÀÚ Çϸé dest¿¡ 2¸¦ ´ë
ÀÔÇÏ¿© putstring ÇÔ¼ö¿¡¼ dest °ªÀ» °Ë»çÇØ putstring_moniter ÇÔ¼ö¸¦ ºÎ¸¦
°ÍÀÎÁö putstring_printer ÇÔ¼ö¸¦ ºÎ¸¦ °ÍÀÎÁö¸¦ ÆǺ°Çϵµ·Ï ÇÑ´Ù¸é, ÇÔ¼ö°¡
¸Å¿ì ¸¹ÀÌ ºÒ¸±¶§´Â ºñ±³Çϴµ¥ ÇÊ¿äÇÑ ½Ã°£µµ ¸¸¸¸Ä¡ ¾Ê°Ô µÉ °ÍÀÔ´Ï´Ù.
ÀÌÁ¦ ÇÔ¼ö Æ÷ÀÎÅ͸¦ ¹è¿·Î ¸¸µé¾î º¾½Ã´Ù. ´ÙÀ½°ú °°Àº ¼¼°³ÀÇ ¸Þ´º°¡ ÀÖ
´Ù°í °¡Á¤ÇÏÁö¿ä.
void menu1(void) {
printf("1¹ø ¸Þ´º ÀÔ´Ï´Ù");
}
void menu2(void) {
printf("2¹ø ¸Þ´º ÀÔ´Ï´Ù");
}
void menu3(void) {
printf("3¹ø ¸Þ´º ÀÔ´Ï´Ù");
}
À̵éÀ» ÇÔ¼ö Æ÷ÀÎÅ͸¦ ´ãÀ» ¼ö ÀÖ´Â Å©±â 3ÀÇ ¹è¿¿¡ ³Ö¾î º¾½Ã´Ù. (À̸§À»
ºÙÀÌÀÚ¸é ÇÔ¼ö Æ÷ÀÎÅÍ ¹è¿ Á¤µµ°¡ µÉ±î¿ä?)
typedef void (*menu_ptr)(void);
menu_ptr menu[] = { menu1, menu2, menu3 };
void main() {
... // number¿¡ ¸Þ´º ¹øÈ£¸¦ ÀÔ·Â ¹Þ´Â´Ù (1-3)
menu[number-1]();
};
menu[÷ÀÚ](ÀÎÀÚ)¿Í °°Àº ¹æ¹ýÀ¸·Î »ç¿ëÇÒ ¼ö ÀÖ°Ô µÇÁö¿ä. ¹è¿ÀÇ »ç¿ë¹ý
°ú Å©°Ô ´Ù¸£Áö ¾Ê½À´Ï´Ù.
¢Ä ÆÄÀÏ Æ÷ÀÎÅÍ
¾Æ½Ã´Ù½ÃÇÇ C¿¡¼ ÆÄÀÏÀ» ´Ù·ê ¶§´Â ±¸Á¶Ã¼ º¯¼öÀÇ Æ÷ÀÎÅ͸¦ »ç¿ë ÇÕ´Ï´Ù.
FILE *fp;
FILEÀº ÄÄÆÄÀÏ·¯¸¦ ¸¸µç »ç¶÷µéÀÌ Á¤ÀÇÇÑ ±¸Á¶Ã¼À̸ç Æ÷ÀÎÅÍ·Î ¼±¾ðÇØ ÆÄÀÏ
À» ³ªÅ¸³»´Â Æ÷ÀÎÅÍ·Î »ç¿ë µË´Ï´Ù. ÀÌó·³ ¼±¾ðÀÌ µÇ¾úÀ» ¶§±îÁö´Â ´ç¿¬ÇÏ°Ô
µµ ¾Æ¹«·± ¸Þ¸ð¸®´Â ÇÒ´çµÇÁö ¾ÊÀºÃ¤ ´ÜÁö fp¿¡ 4¹ÙÀÌÆ®ÀÇ Æ÷ÀÎÅÍ ¿µ¿ªÀÌ ÇÒ
´çµÇÁö¿ä. ÀÌÁ¦ ÆÄÀÏÀ» ¿±´Ï´Ù.
fp = fopen("ÆÄÀϸí", "¿±â¸ðµå");
fopen ÇÔ¼ö´Â ÆÄÀÏ¸í¿¡ ÁÖ¾îÁø ÆÄÀÏÀ» ¿±â¸ðµå·Î ¿¾î FILE ±¸Á¶Ã¼¸¦ »õ·Î
ÇÒ´çÇØ ¿¸° ÆÄÀÏ¿¡ °ü·ÃµÈ Á¤º¸µéÀ» ³ÖÀº ÈÄ ±× Æ÷ÀÎÅ͸¦ ¸®ÅÏÇÏ°Ô µÇ´Â °Í
ÀÌÁö¿ä. ´ÙÀ½°ú °°´Ù°í º¸¸é µË´Ï´Ù.
FILE *fopen(char *filename, char *openmode) {
FILE *temp;
temp = (FILE *)malloc(sizeof(FILE));
// ... filenameÀ» openmode¿¡ µû¶ó ¿¬´Ù
// ... temp ±¸Á¶Ã¼ º¯¼ö¿¡ ¿¸° ÆÄÀÏÀÇ Á¤º¸¸¦ ³Ö´Â´Ù
return temp;
}
ÀÌÁ¦ºÎÅÍ´Â ÀÌ·¸°Ô ÇÒ´çµÈ Æ÷ÀÎÅÍ fp¸¦ °¡Áö°í ÆÄÀÏ¿¡ Á¢±ÙÀ» ÇÏ°Ô µÇ´Â °Í
ÀÌÁö¿ä. ÀÚ¼¼ÇÑ ³»¿ëÀº C ÀÔ¹®¼ÀÇ ÆÄÀÏ ´Ù·ç±â¿¡ ´ëÇÑ ³»¿ëÀ» Âü°íÇÏ½Ã°í¡¦
ÆÄÀÏÀ» ´Ù »ç¿ëÇÑ ÈÄ¿¡´Â ´Ý¾Æ¾ß°ÚÁö¿ä?
fclose(fp);
fclose ÇÔ¼ö´Â ³»ºÎÀûÀ¸·Î fp¿¡ ÇØ´çÇÏ´Â ÆÄÀÏÀ» ´ÝÀº ÈÄ¿¡ free ÇÔ¼ö·Î fp
¿¡ ÇÒ´çµÈ FILE ±¸Á¶Ã¼ ¸¸ÅÀÇ ¸Þ¸ð¸®¸¦ ÇØÁ¦ÇØ ÁÖ´Â °Ì´Ï´Ù. ¿ì¸®°¡ µû·Î ÇÒ
´çÇϰųª ÇØÁ¦ÇÒ ÇÊ¿ä´Â ¾ø´Â °ÍÀÌÁö¿ä.
ÀÌÀü¿¡µµ ¸»¾¸ µå·È´Âµ¥ ´ÙÀ½ÀÇ ¿¹Á¦¸¦ Çѹø º¸¼¼¿ä.
void open_files(FILE *fp1, FILE *fp2) {
fp1 = fopen("...", "...");
fp2 = fopen("...", "...");
}
void main(void) {
FILE *fp1, *fp2;
open_files(fp1, fp2);
// ...
}
À§ÀÇ ¿¹Á¦°¡ Á¦´ë·Î µÇ¾ú´Ù°í »ý°¢ÇϽô ºÐÀº ÀÌÁ¦ ¾È °è½Ã°ÚÁö¿ä? main ÇÔ
¼öÀÇ fp1, fp2¿Í open_filesÀÇ fp1, fp2´Â ÀüÇô º°°³ ÀÔ´Ï´Ù. open_files ¿¡¼
»õ·ÎÀÌ ¼±¾ðµÈ fp1, fp2´Â ÇÔ¼ö ½ºÄÚÇÁ¸¦ °¡Áö¹Ç·Î open_files ÇÔ¼ö°¡ ³¡³ª°Ô
µÇ¸é ¾ø¾îÁöÁö¿ä. main ÇÔ¼öÀÇ fp1, fp2´Â ¿©ÀüÈ÷ ¾²·¹±â°ªÀ» °¡Áö°í ÀÖÀ» »Ó
ÀÔ´Ï´Ù.
¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬
¢Ä ¿©Å±îÁö Áß¿¡ °¡Àå ªÀº ½ºÅ͵ð ½Ã°£À̾ú³×¿ä. ¸Ó ´Ùµé ¾Æ½Ã´Â °ÍÀ̾úÀ»
Å×´Ï °£´ÜÈ÷ ¼Ò°³¸¸ Çß½À´Ï´Ù. ´ÙÀ½ ½Ã°£¿¡´Â ¸µÅ©µå ¸®½ºÆ®¸¦ ±¸ÇöÇØ º¸
µµ·Ï ÇÏÁö¿ä.
ÀÌ»Û ¸»¸¸ ¾²´Â ¼¼»óÀ» ¸¸µé°í ½ÍÀº ÆÄÀÌ°¡¡¦ ^^;
¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬
¡ºÇÁ·Î±×·¡¹Ö ¾ð¾î °ÁÂ-C,C++,VC °Á (go PROG)¡» 1592¹ø
Á¦ ¸ñ:[°ÁÂ] Æ÷ÀÎÅÍ ½ºÅ͵ð [7/8] -½Å°æÈ£
¿Ã¸°ÀÌ:ÆÄÀÌ»ç¶û(½Å°æÈ£ ) 00/01/27 00:00 ÀÐÀ½:211 °ü·ÃÀÚ·á ¾øÀ½
-----------------------------------------------------------------------------
¡º¹è¿òÅÍ-°Á (go SSCS)¡» 32¹ø
Á¦ ¸ñ:[°ÁÂ] Æ÷ÀÎÅÍ ½ºÅ͵ð [7/8] -½Å°æÈ£
¿Ã¸°ÀÌ:ÆÄÀÌ»ç¶û(½Å°æÈ£ ) 00/01/23 23:36 ÀÐÀ½: 4 °ü·ÃÀÚ·á ¾øÀ½
-----------------------------------------------------------------------------
¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬
¡á Æ÷ÀÎÅÍ ½ºÅ͵ð [7] ¡á
¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬
[990219 ÆÄÀÌ»ç¶û]
¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬
¡á 7. ¸µÅ©µå ¸®½ºÆ® ¡á
¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬
¢Ä ´ÜÀÏ ¸µÅ©µå ¸®½ºÆ®
¸µÅ©µå ¸®½ºÆ®(linked-list)´Â ¸®½ºÆ®ÀÇ Çϳª ÀÔ´Ï´Ù. ¸®½ºÆ®¡¦ ¹«¾ðÁö´Â
¾Æ½Ã°ÚÁö¿ä? ¹è¿ °°Àº °É ¸»ÇÏ´Â °ÅÁö¿ä. ³»¿ëÀÌ ÂÞ¿í ³ª¿µÇ¾î ÀÖ´Â ÇüŶó
°í³ª ÇÒ±î¿ä¡¦ ¸µÅ©µå ¸®½ºÆ®´Â À̸§ ±×´ë·Î ¹«¾ð°¡¿¡ ÀÇÇØ ¿¬°áµÊÀ¸·Î½á ¸®
½ºÆ®¿Í °°Àº ÇüŸ¦ ¶ì´Â ±¸Á¶ ÀÔ´Ï´Ù. ±× ¹«¾ð°¡´Â ¾Æ½Ã´Ù½ÃÇÇ Æ÷ÀÎÅ͸¦ ¸»
ÇÏ´Â °ÍÀÌ°ÚÁö¿ä.
ÁÖ¼Ò·ÏÀ» Çϳª ¸¸µé¾î º¾½Ã´Ù. °£´ÜÇÑ¡¦ ¿ì¼± Á¤º¸¸¦ ´ãÀ» ±¸Á¶Ã¼¸¦ ¼±¾ðÇØ
¾ß °ÚÁö¿ä? (ÁÖ¼Ò·ÏÀÌ ¾Æ´Ï¶ó ÀüȹøÈ£ºÎ¶ó°í Çؾ߰ڳ׿ä. ^^)
struct people_t {
char name[20];
char phone[15];
};
ÀÌ Á¤µµ¸é µÇ°ÚÁö¿ä. ±×·±µ¥ ¿ì¸®°¡ ¸¸µé °ÍÀº ¸µÅ©µå ¸®½ºÆ® ÀÔ´Ï´Ù. Æ÷ÀÎ
ÅÍ°¡ µé¾î°¡¾ß°ÚÁö¿ä.
struct people_tag {
char name[20];
char phone[15];
struct people_tag *next;
};
typedef struct people_tag people_t;
¾Æ½Ã´Ù½ÃÇÇ ¸µÅ©µå ¸®½ºÆ®´Â ÀÚ±â ÀÚ½ÅÀ» °¡¸®Å°´Â Æ÷ÀÎÅÍ¿¡ ÀÇÇØ ´ÙÀ½°ú
°°ÀÌ ¿¬°áµÈ ±¸Á¶¸¦ ¸»ÇÏÁö¿ä. °¢°¢À» ³ëµå(node)¶ó°í ÇÕ´Ï´Ù.
people_t *head = NULL, *tail = NULL;
int count = 0;
¦®¦¬¦¬¦¯¦®¦¬¦¬¦¯
¦head¦¦tail¦
¦±¦¬¦¬¦°¦±¦¬¦¬¦°
¦ ¦±¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¯
¡å ¡å
¦®¦¬¦¬¦¬¦¬¦¬¦¯¦®¢º¦®¦¬¦¬¦¬¦¬¦¬¦¯¦®¢º¦®¦¬¦¬¦¬¦¬¦¬¦¯ ¦®¦¬¦¬¦¬¦¬¦¬¦¯
¦ name ¦¦ ¦ name ¦¦ ¦ name ¦ ¦ name ¦
¦ phone ¦¦ ¦ phone ¦¦ ¦ phone ¦¡¦¦ phone ¦
¦²¦¬¦¬¦¬¦¬¦¬¦´¦ ¦²¦¬¦¬¦¬¦¬¦¬¦´¦ ¦²¦¬¦¬¦¬¦¬¦¬¦´ ¦²¦¬¦¬¦¬¦¬¦¬¦´
¦ *next ¦¦° ¦ *next ¦¦° ¦ *next ¦ ¦ *next ¦
¦±¦¬¦¬¦¬¦¬¦¬¦° ¦±¦¬¦¬¦¬¦¬¦¬¦° ¦±¦¬¦¬¦¬¦¬¦¬¦° ¦±¦¬¦¬¦¬¦¬¦¬¦°
¾ÆÁ÷Àº ¾Æ¹«·± Á¤º¸µµ µé¾î°¡Áö ¾Ê¾ÒÀ¸¹Ç·Î head¿Í tailÀº NULL ÀÔ´Ï´Ù. ÀÌ
Á¦ ÀÌ ¸®½ºÆ®¿¡ ÇÑ »ç¶÷ÀÇ Á¤º¸¸¦ Ãß°¡ÇÏ´Â ÇÔ¼ö¸¦ ¸¸µé¾î º¾½Ã´Ù.
people_t *list_add(char *name, char *phone) {
people_t *temp;
temp = (people_t *)malloc(sizeof(people_t));
if (temp == NULL) return NULL; // ¸Þ¸ð¸® ÇÒ´ç ¿¡·¯!
strcpy(temp->name, name);
strcpy(temp->phone, phone);
temp->next = NULL;
// »õ·Î ÇÒ´çµÈ temp¿¡ ÁÖ¾îÁø Á¤º¸¸¦ ¸ðµÎ ³Ö¾ú½À´Ï´Ù. [¨ç]
// ÀÌÁ¦ temp¸¦ ¸®½ºÆ®¿¡ Ãß°¡½ÃÄÑ¾ß ÇÏ°ÚÁö¿ä.
if (tail != NULL) tail->next = temp;
// tailÀÌ NULLÀÌ ¾Æ´ÑÁö ÆÇ´ÜÇÑ ÀÌÀ¯´Â ¹«¾ùÀϱî¿ä?
// tailÀÌ NULLÀÎ ÃʱâÀÇ °æ¿ì¿¡ tail->next¶ó´Â ±¸¹®À» »ç¿ëÇÑ´Ù¸é
// ´ç¿¬È÷ ½É°¢ÇÑ ¹®Á¦°¡ ¹ß»ýÇϱ⠶§¹®ÀÌÁö¿ä.
if (tail == NULL) head = temp;
tail = temp;
// Ãʱ⠻óÅÂÀÇ °æ¿ì¿¡ headµµ ¿ª½Ã NULL À̹ǷΠ[¨è]
// ¶È°°ÀÌ temp¸¦ ´ëÀÔÇØ ÁÖ¾î¾ß ÇÕ´Ï´Ù.
count++;
return temp; // ¸ðµÎ ¼º°øÀûÀ¸·Î ³¡³µÀ» ¶§ ÀÔ´Ï´Ù.
}
ÀÌ ¸®½ºÆ®ÀÇ Ãʱ⠻óŸ¦ º¼±î¿ä.
¦®¦¬¦¬¦¯¦®¦¬¦¬¦¯
¦head¦¦tail¦
¦±¦¬¦¬¦°¦±¦¬¦¬¦°
¦²¦¬¦¬¦¬¦°
¡å
NULL
¦®¦¬¦¬¦¬¦¬¦¬¦¯
¦ ¦
¦ ¦
¦²¦¬¦¬¦¬¦¬¦¬¦´
¦ ¦
¦±¦¬¦¬¦¬¦¬¦¬¦°
ÀÌÁ¦ ù¹ø° °ªÀ» ´ëÀÔÇØ º¸µµ·Ï ÇÏÁö¿ä.
list_add("shin", "111-2222"); // óÀ½ ´ëÀÔÇÒ ¶§
¨ç¦®¦¬¦¬¦¯¦®¦¬¦¬¦¯
¦head¦¦tail¦
¦±¦¬¦¬¦°¦±¦¬¦¬¦°
¦²¦¬¦¬¦¬¦°
¡å
NULL
¦®¦¬¦¬¦¬¦¬¦¬¦¯¢¸¦¯¦®¦¬¦¬¦¬¦¬¦¬¦¯
¦ ¦ ¦¦ shin ¦
¦ ¦ ¦¦ 111-2222 ¦
¦²¦¬¦¬¦¬¦¬¦¬¦´ ¦¦²¦¬¦¬¦¬¦¬¦¬¦´
¦ ¦ ¦±¦ *next ¦
¦±¦¬¦¬¦¬¦¬¦¬¦° ¦±¦¬¦¬¦¬¦¬¦¬¦°
¨è¦®¦¬¦¬¦¯¦®¦¬¦¬¦¯
¦head¦¦tail¦
¦±¦¬¦¬¦°¦±¦¬¦¬¦°
¦±¦¬¦¬¦¬¦´
¦±¦¬¦¬¦¬¦¬¦¯
NULL ¡å
¦®¦¬¦¬¦¬¦¬¦¬¦¯¢¸¦¯¦®¦¬¦¬¦¬¦¬¦¬¦¯
¦ ¦ ¦¦ shin ¦
¦ ¦ ¦¦ 111-2222 ¦
¦²¦¬¦¬¦¬¦¬¦¬¦´ ¦¦²¦¬¦¬¦¬¦¬¦¬¦´
¦ ¦ ¦±¦ *next ¦
¦±¦¬¦¬¦¬¦¬¦¬¦° ¦±¦¬¦¬¦¬¦¬¦¬¦°
°á°úÀûÀ¸·Î´Â ´ÙÀ½°ú µ¿ÀÏ ÇÕ´Ï´Ù. (Á¿츦 µÚÁý¾úÀ» »ÓÀÌÁö¿ä)
¦®¦¬¦¬¦¯¦®¦¬¦¬¦¯
¦head¦¦tail¦
¦±¦¬¦¬¦°¦±¦¬¦¬¦°
¦²¦¬¦¬¦¬¦°
¡å NULL
¦®¦¬¦¬¦¬¦¬¦¬¦¯¦®¢º¦®¦¬¦¬¦¬¦¬¦¬¦¯
¦ shin ¦¦ ¦ ¦
¦ 111-2222 ¦¦ ¦ ¦
¦²¦¬¦¬¦¬¦¬¦¬¦´¦ ¦²¦¬¦¬¦¬¦¬¦¬¦´
¦ *next ¦¦° ¦ ¦
¦±¦¬¦¬¦¬¦¬¦¬¦° ¦±¦¬¦¬¦¬¦¬¦¬¦°
´õ ´ëÀÔÇØ º¾½Ã´Ù.
list_add("jung", "333-4444");
¨ç¦®¦¬¦¬¦¯¦®¦¬¦¬¦¯
¦head¦¦tail¦
¦±¦¬¦¬¦°¦±¦¬¦¬¦°
¦²¦¬¦¬¦¬¦°
¡å NULL
¦®¦¬¦¬¦¬¦¬¦¬¦¯¦®¢º¦®¦¬¦¬¦¬¦¬¦¬¦¯¢¸¦¯¦®¦¬¦¬¦¬¦¬¦¬¦¯
¦ shin ¦¦ ¦ ¦ ¦¦ jung ¦
¦ 111-2222 ¦¦ ¦ ¦ ¦¦ 333-4444 ¦
¦²¦¬¦¬¦¬¦¬¦¬¦´¦ ¦²¦¬¦¬¦¬¦¬¦¬¦´ ¦¦²¦¬¦¬¦¬¦¬¦¬¦´
¦ *next ¦¦° ¦ ¦ ¦±¦ *next ¦
¦±¦¬¦¬¦¬¦¬¦¬¦° ¦±¦¬¦¬¦¬¦¬¦¬¦° ¦±¦¬¦¬¦¬¦¬¦¬¦°
¨è¦®¦¬¦¬¦¯¦®¦¬¦¬¦¯
¦head¦¦tail¦
¦±¦¬¦¬¦°¦±¦¬¦¬¦°
¦ ¦±¦³¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¯
¡å ¦ NULL ¡å
¦®¦¬¦¬¦¬¦¬¦¬¦¯¦ ¦®¦¬¦¬¦¬¦¬¦¬¦¯¢¸¦¯¦®¦¬¦¬¦¬¦¬¦¬¦¯
¦ shin ¦¦ ¦ ¦ ¦¦ jung ¦
¦ 111-2222 ¦¦ ¦ ¦ ¦¦ 333-4444 ¦
¦²¦¬¦¬¦¬¦¬¦¬¦´¦ ¦²¦¬¦¬¦¬¦¬¦¬¦´ ¦¦²¦¬¦¬¦¬¦¬¦¬¦´
¦ *next ¦¦° ¦ ¦ ¦±¦ *next ¦
¦±¦¬¦¬¦¬¦¬¦¬¦° ¦±¦¬¦¬¦¬¦¬¦¬¦° ¦±¦¬¦¬¦¬¦¬¦¬¦°
¿ª½Ã ±×¸²À» Á¶±Ý Á¤¸®ÇÏ¸é ´ÙÀ½°ú °°Áö¿ä.
¦®¦¬¦¬¦¯¦®¦¬¦¬¦¯
¦head¦¦tail¦
¦±¦¬¦¬¦°¦±¦¬¦¬¦°
¦ ¦±¦¬¦¬¦¬¦¬¦¯
¡å ¡å NULL
¦®¦¬¦¬¦¬¦¬¦¬¦¯¦®¢º¦®¦¬¦¬¦¬¦¬¦¬¦¯¦®¢º¦®¦¬¦¬¦¬¦¬¦¬¦¯
¦ shin ¦¦ ¦ jung ¦¦ ¦ ¦
¦ 111-2222 ¦¦ ¦ 333-4444 ¦¦ ¦ ¦
¦²¦¬¦¬¦¬¦¬¦¬¦´¦ ¦²¦¬¦¬¦¬¦¬¦¬¦´¦ ¦²¦¬¦¬¦¬¦¬¦¬¦´
¦ *next ¦¦° ¦ *next ¦¦° ¦ ¦
¦±¦¬¦¬¦¬¦¬¦¬¦° ¦±¦¬¦¬¦¬¦¬¦¬¦° ¦±¦¬¦¬¦¬¦¬¦¬¦°
Çϳª¸¦ ´õ Ãß°¡Çϸé,
list_add("cho", "555-6666");
¦®¦¬¦¬¦¯¦®¦¬¦¬¦¯
¦head¦¦tail¦
¦±¦¬¦¬¦°¦±¦¬¦¬¦°
¦ ¦±¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¯
¡å ¡å NULL
¦®¦¬¦¬¦¬¦¬¦¬¦¯¦®¢º¦®¦¬¦¬¦¬¦¬¦¬¦¯¦®¢º¦®¦¬¦¬¦¬¦¬¦¬¦¯¦®¢º¦®¦¬¦¬¦¬¦¬¦¬¦¯
¦ shin ¦¦ ¦ jung ¦¦ ¦ cho ¦¦ ¦ ¦
¦ 111-2222 ¦¦ ¦ 333-4444 ¦¦ ¦ 555-6666 ¦¦ ¦ ¦
¦²¦¬¦¬¦¬¦¬¦¬¦´¦ ¦²¦¬¦¬¦¬¦¬¦¬¦´¦ ¦²¦¬¦¬¦¬¦¬¦¬¦´¦ ¦²¦¬¦¬¦¬¦¬¦¬¦´
¦ *next ¦¦° ¦ *next ¦¦° ¦ *next ¦¦° ¦ ¦
¦±¦¬¦¬¦¬¦¬¦¬¦° ¦±¦¬¦¬¦¬¦¬¦¬¦° ¦±¦¬¦¬¦¬¦¬¦¬¦° ¦±¦¬¦¬¦¬¦¬¦¬¦°
´õ ´ëÀÔÇØ º¼ ÇÊ¿ä´Â ¾ø°ÚÁö¿ä? ^^ ÀÌÁ¦ ƯÁ¤ À§Ä¡ÀÇ ³ëµå¿¡ Á¢±ÙÇÏ´Â ÇÔ¼ö
¸¦ ¸¸µé¾î º¾½Ã´Ù.
people_t *list_seek(int number) {
int n;
people_t *temp = head;
if (number >= count) return NULL;
for (n = 0; n < number; n++)
temp = temp->next;
return temp;
}
list_seek(1)->name°ú °°Àº ¹æ¹ýÀ¸·Îµµ Á¢±ÙÀÌ °¡´ÉÇÏ°ÚÁö¿ä? ¹°·Ð °á°ú°ª
ÀÌ NULLÀÎÁö ¾Æ´ÑÁö ºñ±³´Â ÇØ¾ß ÇÏ°ÚÁö¿ä. ÀÌÁ¦ ÇϳªÀÇ ³ëµå¸¦ »èÁ¦ÇÏ´Â ÇÔ
¼ö¸¦ ¸¸µé¾î º¼±î¿ä?
void list_delete(people_t *node) {
people_t *prev;
for (prev = head; prev != tail; prev = prev->next)
if (prev->next == node) break;
// node·ÎºÎÅÍ Á÷Á¢ ¹Ù·Î ¾ÕÀÇ ³ëµå¸¦ ¾Ë ¹æ¹ýÀÌ ¾øÀ¸¹Ç·Î
// óÀ½ºÎÅÍ °Ë»öÀ» ÇÕ´Ï´Ù.
// prev°¡ ¹Ù·Î node ¹Ù·Î ÀüÀÇ ³ëµå°¡ µÇ°ÚÁö¿ä.
if (node == head) head = node->next;
else prev->next = node->next;
count--;
// ÀÌÁ¦ node´Â ¸®½ºÆ®¿¡¼ »èÁ¦ µÇ¾ú½À´Ï´Ù. [¨ç]
free(node);
// ÇÒ´çÇß´ø ¸Þ¸ð¸®µµ ÇØÁ¦ÇØ¾ß ÇÏ°ÚÁö¿ä. [¨è]
}
list_delete(list_seek(1));
¨ç¦®¦¬¦¬¦¯¦®¦¬¦¬¦¯
¦head¦¦tail¦
¦±¦¬¦¬¦°¦±¦¬¦¬¦°
¦ ¦±¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¯
¡å ¦®¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¯ ¡å NULL
¦®¦¬¦¬¦¬¦¬¦¬¦¯¦ ¦®¦¬¦¬¦¬¦¬¦¬¦¯¦²¢º¦®¦¬¦¬¦¬¦¬¦¬¦¯¦®¢º¦®¦¬¦¬¦¬¦¬¦¬¦¯
¦ shin ¦¦ ¦ jung ¦¦ ¦ cho ¦¦ ¦ ¦
¦ 111-2222 ¦¦ ¦ 333-4444 ¦¦ ¦ 555-6666 ¦¦ ¦ ¦
¦²¦¬¦¬¦¬¦¬¦¬¦´¦ ¦²¦¬¦¬¦¬¦¬¦¬¦´¦ ¦²¦¬¦¬¦¬¦¬¦¬¦´¦ ¦²¦¬¦¬¦¬¦¬¦¬¦´
¦ *next ¦¦° ¦ *next ¦¦° ¦ *next ¦¦° ¦ ¦
¦±¦¬¦¬¦¬¦¬¦¬¦° ¦±¦¬¦¬¦¬¦¬¦¬¦° ¦±¦¬¦¬¦¬¦¬¦¬¦° ¦±¦¬¦¬¦¬¦¬¦¬¦°
¨è¦®¦¬¦¬¦¯¦®¦¬¦¬¦¯
¦head¦¦tail¦
¦±¦¬¦¬¦°¦±¦¬¦¬¦°
¦ ¦±¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¯
¡å ¦®¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¯ ¡å NULL
¦®¦¬¦¬¦¬¦¬¦¬¦¯¦ ¦±¢º¦®¦¬¦¬¦¬¦¬¦¬¦¯¦®¢º¦®¦¬¦¬¦¬¦¬¦¬¦¯
¦ shin ¦¦ ¦ cho ¦¦ ¦ ¦
¦ 111-2222 ¦¦ ¦ 555-6666 ¦¦ ¦ ¦
¦²¦¬¦¬¦¬¦¬¦¬¦´¦ ¦²¦¬¦¬¦¬¦¬¦¬¦´¦ ¦²¦¬¦¬¦¬¦¬¦¬¦´
¦ *next ¦¦° ¦ *next ¦¦° ¦ ¦
¦±¦¬¦¬¦¬¦¬¦¬¦° ¦±¦¬¦¬¦¬¦¬¦¬¦° ¦±¦¬¦¬¦¬¦¬¦¬¦°
list_delete(list_seek(0)); // »èÁ¦µÇ´Â ³ëµå°¡ head ÀÏ ¶§
¨ç¦®¦¬¦¬¦¯¦®¦¬¦¬¦¯
¦head¦¦tail¦
¦±¦¬¦¬¦°¦±¦¬¦¬¦°
¦ ¦±¦¬¦¬¦¬¦¬¦¯
¦±¦¬¦¬¦¬¦¬¦¯ ¡å NULL
¦®¦¬¦¬¦¬¦¬¦¬¦¯¦²¢º¦®¦¬¦¬¦¬¦¬¦¬¦¯¦®¢º¦®¦¬¦¬¦¬¦¬¦¬¦¯
¦ shin ¦¦ ¦ cho ¦¦ ¦ ¦
¦ 111-2222 ¦¦ ¦ 555-6666 ¦¦ ¦ ¦
¦²¦¬¦¬¦¬¦¬¦¬¦´¦ ¦²¦¬¦¬¦¬¦¬¦¬¦´¦ ¦²¦¬¦¬¦¬¦¬¦¬¦´
¦ *next ¦¦° ¦ *next ¦¦° ¦ ¦
¦±¦¬¦¬¦¬¦¬¦¬¦° ¦±¦¬¦¬¦¬¦¬¦¬¦° ¦±¦¬¦¬¦¬¦¬¦¬¦°
¨è¦®¦¬¦¬¦¯¦®¦¬¦¬¦¯
¦head¦¦tail¦
¦±¦¬¦¬¦°¦±¦¬¦¬¦°
¦ ¦±¦¬¦¬¦¬¦¬¦¯
¦±¦¬¦¬¦¬¦¬¦¯ ¡å NULL
¦±¢º¦®¦¬¦¬¦¬¦¬¦¬¦¯¦®¢º¦®¦¬¦¬¦¬¦¬¦¬¦¯
¦ cho ¦¦ ¦ ¦
¦ 555-6666 ¦¦ ¦ ¦
¦²¦¬¦¬¦¬¦¬¦¬¦´¦ ¦²¦¬¦¬¦¬¦¬¦¬¦´
¦ *next ¦¦° ¦ ¦
¦±¦¬¦¬¦¬¦¬¦¬¦° ¦±¦¬¦¬¦¬¦¬¦¬¦°
¿©±â±îÁö Çؼ ¸µÅ©µå ¸®½ºÆ®¿¡ Ãß°¡ÇÏ°í Á¢±ÙÇÏ°í »èÁ¦ÇÏ´Â ÇÔ¼ö¸¦ ¸¸µé¾î
ºÃ½À´Ï´Ù. ¿øÇÏ´Â À§Ä¡¿¡ Ãß°¡Çϰųª °Ë»öÀ» ÇÏ´Â ÇÔ¼ö´Â Á÷Á¢ ¸¸µé¾î º¸½Ã±â
¹Ù¶ø´Ï´Ù. À§ÀÇ ÇÔ¼öµéÀ» »ç¿ëÇÑ ¿¹Á¦¸¦ Àû½À´Ï´Ù.
#include <stdio.h>
#include <alloc.h>
#include <string.h>
struct people_tag {
char name[20];
char phone[15];
struct people_tag *next;
};
typedef struct people_tag people_t;
people_t *head = NULL, *tail = NULL;
int count = 0;
people_t *list_add(char *name, char *phone) {
people_t *temp;
temp = (people_t *)malloc(sizeof(people_t));
if (temp == NULL) return NULL;
strcpy(temp->name, name);
strcpy(temp->phone, phone);
temp->next = NULL;
if (tail != NULL) tail->next = temp;
if (tail == NULL) head = temp;
tail = temp;
count++;
return temp;
}
people_t *list_seek(int number) {
int n;
people_t *temp = head;
if (number >= count) return NULL;
for (n = 0; n < number; n++)
temp = temp->next;
return temp;
}
void list_delete(people_t *node) {
people_t *prev;
for (prev = head; prev != tail; prev = prev->next)
if (prev->next == node) break;
if (node == head) head = node->next;
else prev->next = node->next;
count--;
free(node);
}
void print_list(void) {
int n;
for (n = 0; n < count; n++)
printf("%d %s %s\n", n + 1,
list_seek(n)->name, list_seek(n)->phone);
printf("\n");
}
void main(void) {
list_add("shin", "111-2222");
print_list();
list_add("jung", "333-4444");
print_list();
list_add("cho", "555-6666");
print_list();
list_delete(list_seek(1));
print_list();
list_delete(list_seek(0));
print_list();
list_delete(list_seek(0));
}
<°á°ú>
1 shin 111-2222
1 shin 111-2222
2 jung 333-4444
1 shin 111-2222
2 jung 333-4444
3 cho 555-6666
1 shin 111-2222
2 cho 555-6666
1 cho 555-6666
¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬
¢Ä ¼Ò½º¿Í ±×¸²À¸·Î µµ¹èÇÑ ½ºÅ͵𿴳׿ä. ´ÙÀ½ ½Ã°£¿¡´Â ÀÌÁß ¸µÅ©µå ¸®½ºÆ®
¿Í ½ºÅÃ, Å¥¸¦ ¾Ë¾Æ º¸°Ú½À´Ï´Ù. ¸¶Áö¸· ½ºÅ͵𰡠µÉµí Çϳ׿ä.
ÀÌ»Û ¸»¸¸ ¾²´Â ¼¼»óÀ» ¸¸µé°í ½ÍÀº ÆÄÀÌ°¡¡¦ ^^;
¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬
¡ºÇÁ·Î±×·¡¹Ö ¾ð¾î °ÁÂ-C,C++,VC °Á (go PROG)¡» 1593¹ø
Á¦ ¸ñ:[°ÁÂ] Æ÷ÀÎÅÍ ½ºÅ͵ð [8/8] -½Å°æÈ£
¿Ã¸°ÀÌ:ÆÄÀÌ»ç¶û(½Å°æÈ£ ) 00/01/27 00:00 ÀÐÀ½:255 °ü·ÃÀÚ·á ¾øÀ½
-----------------------------------------------------------------------------
¡º¹è¿òÅÍ-°Á (go SSCS)¡» 33¹ø
Á¦ ¸ñ:[°ÁÂ] Æ÷ÀÎÅÍ ½ºÅ͵ð [8/8] -½Å°æÈ£
¿Ã¸°ÀÌ:ÆÄÀÌ»ç¶û(½Å°æÈ£ ) 00/01/23 23:37 ÀÐÀ½: 4 °ü·ÃÀÚ·á ¾øÀ½
-----------------------------------------------------------------------------
¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬
¡á Æ÷ÀÎÅÍ ½ºÅ͵ð [8] ¡á
¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬
[990221 ÆÄÀÌ»ç¶û]
¢Ä ¾î´Àµ¡ ½ºÅ͵𸦠¸¶ÃÄ¾ß ÇÒ ½Ã°£ÀÌ ¿Ô³×¿ä. Àç¹Ìµµ ¾ø°í Áö·çÇϱ⸸ ÇßÀ»
±×µ¿¾ÈÀÇ ½ºÅ͵𠸹ÀÌ ºÁ Áּż Á¤¸» °¨»çµå¸®±¸¿ä. ºÎÁ·ÇÏÁö¸¸ Á¶±ÝÀ̳ª
¸¶ µµ¿òÀÌ µÇ¾ú´Ù¸é ´ÙÇàÀÏÅ×Áö¿ä. Á¦°¡ °³ÀÎÀûÀ¸·Î ¹ÙºüÁú(^^) °ü°è·Î ÈÄ
¹ÝÀÇ ¸î°³ÀÇ ½ºÅ͵𸦠³¯¸²À¸·Î ¸¸µéÁö´Â ¾Ê¾Ò³ª ÇÏ´Â »ý°¢µµ µé°í¡¦ ==;;
C++ ½ºÅ͵𸦠ÇÒ ¼ö ÀÖÀ»Áö ¾øÀ»Áöµµ È®½ÇÇÏ°Ô ¸»¾¸µå¸± ¼ö°¡ ¾ø³×¿ä.
±×·³ »õÇØ º¹ ¸¹ÀÌ ¹ÞÀ¸½Ã±¸¿ä. ÇϽô ÀÏ ¸ðµÎ Àß µÇ½Ã±æ ¹Ù¶ø´Ï´Ù. ±âȸ
°¡ µÇ¸é C++ ½ºÅ͵𿡼 ´Ù½Ã ºËµµ·Ï ÇÏÁö¿ä. *^^*
¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬
¡á 8. ÀÌÁß ¸µÅ©µå ¸®½ºÆ®¿Í Å¥, ½ºÅà ¡á
¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬
¢Ä ÀÌÁß ¸µÅ©µå ¸®½ºÆ®
½Ã°£ ½Ã°£¿¡´Â ´ÜÀÏ ¸µÅ©µå ¸®½ºÆ®¸¦ Çß¾úÁö¿ä. ´ÜÀÏ°ú ÀÌÁß. ¸Ó°¡ Çϳª°í
µÎ°³¶õ ¸»Àϱî¿ä? ³×. ±×·¸Áö¿ä. ¹Ù·Î ¿¬°áÀ» ½ÃÄÑÁÖ´Â Æ÷ÀÎÅÍ ÀÔ´Ï´Ù. ´ÜÀÏ
¸µÅ©µå ¸®½ºÆ®¿¡¼´Â Æ÷ÀÎÅÍ°¡ next ¹Û¿¡ Á¸ÀçÇÏÁö ¾Ê¾Ò¾úÁö¿ä. ÀÌÁß ¸µÅ©µå
¸®½ºÆ®¿¡´Â ¿©±â¿¡ prev Æ÷ÀÎÅ͸¦ ´õÇؼ Æ÷ÀÎÅÍ°¡ µÎ°³ Á¸Àç ÇÕ´Ï´Ù. Æ÷ÀÎÅÍ
°¡ µÎ°³¶ó¼ ¾ò´Â À̵æÀº ¹«¾ùÀÌ ÀÖÀ»±î¿ä? Áö³ ½Ã°£¿¡ ³ëµåÀÇ Æ÷ÀÎÅ͸¦ ¹Þ
¾Æ ±× ³ëµå¸¦ »èÁ¦ÇÏ´Â ÇÔ¼ö¸¦ ¸¸µé ¶§ ¿ì¸®´Â ±× ³ëµåÀÇ ¹Ù·Î ¾Õ ³ëµå¸¦ ã
±â À§ÇØ Àüü ¸®½ºÆ®¸¦ Çì¸Þ°í ´Ù´Ïµµ·Ï Çß¾úÁö¿ä. ÇÏÁö¸¸ ÀÌÁ¦´Â ¹Ù·Î ¾Õ ³ë
µåÀÇ Æ÷ÀÎÅ͵µ °¡Áö°í Àֱ⠶§¹®¿¡ ±×·² ÇÊ¿ä°¡ ¾ø½À´Ï´Ù. ¾îµð¿¡ ³¢¿ö ³Ö±â
¸¦ Çϰųª ÇÒ¶§µµ ¹Ù·Î Á¢±ÙÀÌ °¡´ÉÇϱ⠶§¹®¿¡ ÈξÀ Æí¸®ÇÏÁö¿ä. ±×·¯³ª ¸Þ
¸ð¸®¸¦ Á¶±Ý ¸¹ÀÌ »ç¿ëÇÏ°í(¾Æ¹«·¡µµ Æ÷ÀÎÅÍ°¡ µÎ°³´Ï±î¡¦) ¼Ò½º Äڵ尡 Á¶±Ý
º¹ÀâÇØÁø´Ù´Â(°æ¿ì¿¡ µû¶ó¼´Â ´õ ´Ü¼øÇØ Áú¼öµµ ÀÖ°í¡¦) ´ÜÁ¡ÀÌ ÀÖ±â´Â ÇÏÁö
¸¸ Æí¸®Çϱ⠶§¹®¿¡ ´ÜÀÏ º¸´Ù´Â ÀÌÁß ¸µÅ©µå ¸®½ºÆ®°¡ ´õ ¸¹ÀÌ »ç¿ë µË´Ï´Ù.
struct node_tag {
int number;
struct node_tag *prev, *next;
};
typedef struct node_tag node_t;
Á¤¼ö¸¦ ÀúÀåÇÏ´Â ÀÌÁß ¸µÅ©µå ¸®½ºÆ®ÀÇ ³ëµå¸¦ ¼±¾ð Çß½À´Ï´Ù. ÀÌÁ¦ ¾Õ¿¡¼
Çß´ø °Íó·³ head¿Í tail Æ÷ÀÎÅ͸¦ ¸¸µé°í countµµ ¸¸µì½Ã´Ù.
node_t *head = NULL, *tail = NULL;
int count = 0;
ÀÌÁ¦ ½ÇÁ¦·Î Å¥¸¦ Çϳª ¸¸µé¾î º¸¸é¼ ÀÌÁß ¸µÅ©µå ¸®½ºÆ®ÀÇ »ç¿ë ¹æ¹ýÀ»
¾Ë¾Æº¸µµ·Ï ÇÏÁö¿ä.
¢Ä Å¥
Å¥´Â ¾Æ½Ã´Ù½ÃÇÇ ¸ÕÀú µé¾î°£ °ÍÀÌ ¸ÕÀú ³ª¿À´Â FIFO(First In, First Out)
±¸Á¶ ÀÔ´Ï´Ù. µé¾î°¡´Â °÷À» head¶ó°í ÇÏ°í ³ª¿À´Â °÷À» tailÀ̶ó°í ÇÏÁö¿ä.
int enqueue(int number) {
node_t *temp;
temp = (node_t *)malloc(sizeof(node_t));
if (temp == NULL) return 0; // ¸Þ¸ð¸® ÇÒ´ç ¿¡·¯
temp->number = number;
temp->prev = NULL; // head·Î µé¾î°¡¹Ç·Î temp°¡ ù ³ëµå°¡ µÊ
temp->next = head;
count++;
if (head != NULL) head->prev = temp;
if (head == NULL) tail = temp;
head = temp;
return 1;
}
¿ì¼± tempÀÇ °ªµéÀ» ¼³Á¤ÇÑ ÈÄ¿¡ ´Ù¸¥ ³ëµå°¡ Á¸ÀçÇϸé headÀÇ ¾Õ¿¡ temp¸¦
¿¬°áÇÏÁö¿ä. ÀÌÁ¦ »õ·Î¿î head´Â temp°¡ µÇ°í, Ãʱ⠻óÅÂÀ̸é tailµµ temp°¡
µÇÁö¿ä. (head = temp¸¦ if (head ...)º¸´Ù ¾Õ¿¡ ¾²¸é ¾ÈµË´Ï´Ù)
int dequeue(void) {
int number;
if (tail == NULL) return NULL; // Ãʱ⠻óÅÂÀÎ °æ¿ì
number = tail->number; // tailÀº Àá½Ã ÈÄ free¿¡ ÀÇÇØ »èÁ¦µÇ¹Ç·Î
// °ªÀ» µû·Î ÀúÀåÇÏ°í ÀÖ¾î¾ß ÇÕ´Ï´Ù
tail = tail->prev; // »õ·Î¿î tailÀº ¹Ù·Î ¾Õ ³ëµå°¡ µË´Ï´Ù
if (tail != NULL) {
free(tail->next); // ¿ø·¡ÀÇ tailÀÌ »èÁ¦ µË´Ï´Ù
tail->next = NULL;
} else head = NULL; // ¸ðµç node°¡ »èÁ¦µÈ °æ¿ì headµµ NULLÀÌ µÊ
count--;
return number;
}
void main(void) {
printf("%d\n", dequeue()); // 0
enqueue(1);
enqueue(2);
enqueue(3);
printf("%d\n", dequeue()); // 1
enqueue(4);
enqueue(5);
enqueue(6);
printf("%d\n", dequeue()); // 2
printf("%d\n", dequeue()); // 3
printf("%d\n", dequeue()); // 4
printf("%d\n", dequeue()); // 5
printf("%d\n", dequeue()); // 6
enqueue(7);
enqueue(8);
printf("%d\n", dequeue()); // 7
printf("%d\n", dequeue()); // 8
}
°á°ú´Â ¿¹»ó´ë·Î ³ª¿É´Ï´Ù.
¢Ä ½ºÅÃ
½ºÅÃÀº µé¾î°£ °÷°ú ³ª¿À´Â °÷ÀÌ µ¿ÀÏÇÏ¸é µÇ°ÚÁö¿ä. µÑ´Ù tailÀ̶ó°í °¡Á¤
ÇսôÙ.
int push(int number) {
node_t *temp;
temp = (node_t *)malloc(sizeof(node_t));
if (temp == NULL) return 0; // ¸Þ¸ð¸® ÇÒ´ç ¿¡·¯
temp->number = number;
temp->next = NULL; // tail·Î µé¾î°¡¹Ç·Î temp°¡ ³¡ ³ëµå°¡ µÊ
temp->prev = tail;
count++;
if (tail != NULL) tail->next = temp;
if (tail == NULL) head = temp;
tail = temp;
return 1;
}
int pop(void) {
int number;
if (tail == NULL) return NULL; // Ãʱ⠻óÅÂÀÎ °æ¿ì
number = tail->number; // tailÀº Àá½Ã ÈÄ free¿¡ ÀÇÇØ »èÁ¦µÇ¹Ç·Î
// °ªÀ» µû·Î ÀúÀåÇÏ°í ÀÖ¾î¾ß ÇÕ´Ï´Ù
tail = tail->prev; // »õ·Î¿î tailÀº ¹Ù·Î ¾Õ ³ëµå°¡ µË´Ï´Ù
if (tail != NULL) {
free(tail->next); // ¿ø·¡ÀÇ tailÀÌ »èÁ¦ µË´Ï´Ù
tail->next = NULL;
} else head = NULL; // ¸ðµç node°¡ »èÁ¦µÈ °æ¿ì headµµ NULLÀÌ µÊ
count--;
return number;
}
void main(void) {
printf("%d\n", pop()); // 0
push(1);
push(2);
push(3);
printf("%d\n", pop()); // 3
push(4);
push(5);
push(6);
printf("%d\n", pop()); // 6
printf("%d\n", pop()); // 5
printf("%d\n", pop()); // 4
printf("%d\n", pop()); // 3
printf("%d\n", pop()); // 2
push(7);
push(8);
printf("%d\n", pop()); // 8
printf("%d\n", pop()); // 7
}
pop ÇÔ¼öÀÇ °æ¿ì Å¥ÀÇ dequeue ÇÔ¼ö¿Í ¶È°°½À´Ï´Ù. ¶È°°ÀÌ tail¿¡¼ ÇϳªÀÇ
°ªÀ» »©¿À´Â ÇÔ¼öÀÌ´Ï ´Ù¸¦ ÀÌÀ¯°¡ ¾øÁö¿ä. ±×·±µ¥ À§ÀÇ µÎ ÇÔ¼ö¸¦ º¸¸é head
°ªÀ» ¿©±âÀú±â¼ º¯°æÇϱâ´Â Çϴµ¥ ¾Æ¹« °÷¿¡¼µµ ÂüÁ¶¸¦ ¾ÈÇÏÁö¿ä? Áï ½ºÅÃ
¿¡¼´Â head³ª tail Áß¿¡ Çϳª¸¸ À־ µÈ´Ù´Â °Ì´Ï´Ù. ´ç¿¬È÷ ÇÑÂÊ¿¡¼¸¸
ÀÔÃâ·ÂÀ» Çϱ⠶§¹®¿¡ ¹Ý´ëÂÊÀÇ Æ÷ÀÎÅ͸¦ °¡Áú ÇÊ¿ä°¡ ¾ø´Â °ÍÀÌÁö¿ä. head°¡
ÀÖ´Â ºÎºÐÀ» »©°í ½ÇÇàÇصµ ¾Æ¹« ¹®Á¦°¡ ¾ø½À´Ï´Ù.
À§ÀÇ dequeue¿Í pop ÇÔ¼öÀÇ °æ¿ì ¸®½ºÆ®¿¡ ¾Æ¹«·± °ªµµ ¾øÀ» ¶§ 0À» ¸®ÅÏÇÏ
´Âµ¥¿ä. ±×·¸´Ù¸é ¸®½ºÆ®¿¡ 0À̶ó´Â °ªÀ» ³Ö¾úÀ» ¶§ ±× ¸®½ºÆ®°¡ ºñ¾ú´Ù´Â Ç¥
½ÃÀÎÁö °ª 0ÀÎÁö ±¸º°À» ÇÏÁö ¸øÇÏÁö¿ä. ¾î¶² Ã¥µéÀ» º¸¸é Æ÷ÀÎÅ͸¦ ¸®ÅÏÇϹÇ
·Î½á ÇØ°áÀ» Çϱ⵵ Çϴµ¥ ÀÌ·± ¹æ¹ýÀº ¸Þ¸ð¸®¿¡¼ ¹®Á¦°¡ »ý±æ ¼öµµ ÀÖ½À´Ï
´Ù. Â÷¶ó¸® is_null µîÀÇ ÇÔ¼ö¸¦ »õ·Î ¸¸µé¾î¼ ºñ¾î ÀÖ´ÂÁö ¿©ºÎ¸¦ È®ÀÎÇÏ°í
°ªÀ» »©³»´Â °ÍÀÌ ÁÁÀ» µí Çϳ׿ä.
¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬
¢Ä Áö³ ½Ã°£ÀÇ ½ºÅ͵𠳻¿ëÀ» ¿ÏÀüÈ÷ ÀÌÇØÇß´Ù°í °¡Á¤ÇÏ°í ½è±â ¶§¹®¿¡ ¼Ò½º
¿Ü¿¡´Â º°°Ô ¾ø³×¿ä. ÀÌÇØ°¡ ¾ÈµÇ½Ã¸é ¿ì¼± Áö³ ½Ã°£ÀÇ ³»¿ëÀ» È®½ÇÈ÷ ÀÌ
ÇØÇÏ°í ´Ù½Ã º¸¼¼¿ä. CÀÇ °¡Àå °í±Þ ±â¹ýÀ̶ó°í ÇÒ ¼ö ÀÖ´Â(?) Æ÷ÀÎÅ͸¦
È°¿ëÇÑ ¸µÅ©µå ¸®½ºÆ®±îÁö ¸ðµÎ ³¡³µ½À´Ï´Ù. ±×·³ ¸ðµÎ ÇູÇϼ¼¿ä.
(¸µÅ©µå ¸®½ºÆ®¸¦ ¸» ±×´ë·Î ¸®½ºÆ®·Î ¾²°í Áß°£¿¡ »ðÀÔÇϰųª »èÁ¦ÇÏ´Â
ÇÔ¼öµéµµ Çѹø ¸¸µé¾î º¸¼¼¿ä)
¢Ä Thanks To 98 ³ª¹Ý, Àü°ø ¼Ò¸ðÀÓ OZ¡¦
Special Thanks To »ç¶ûÇÏ´Â ¿ï¹Ý ³» Ä£±¸´ú¡¦
(ƯÈ÷ ½ºÅ͵ð °è¼ÓÇϵµ·Ï °Ý·ÁÇØ ÁØ ¸ð¾ç, ¸ð±º¡¦ ^^)
ÀÌ»Û ¸»¸¸ ¾²´Â ¼¼»óÀ» ¸¸µé°í ½ÍÀº ÆÄÀÌ°¡¡¦ ^^;
µð ¾Øµå.
¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬
|
|
Page Loading [ 0.33 Sec ]
SQL Time [ 0 Sec ]
|
|
|