|
http://www.hackerschool.org/HS_Boards/zboard.php?AllArticle=true&no=2795 [º¹»ç]
/* strcopy.c */
#include <stdio.h>
void strcopy (char *pDst, char *pSrc);
void main()
{
char szString1[20] = "This is a String";
char szString2[20] = { 0, };
strcopy (szString2, szString1);
printf("szString2 : %s \n", szString2);
}
void strcopy (char *pDst, char *pSrc)
{
while( (*pDst++ = *pSrc++ ) != '\0' );
}
¸» ±×´ë·Î ¹®ÀÚ¿À» º¹»çÇÏ´Â °£´ÜÇÑ ÄÚµåÀä.
ÀÌ ºÎºÐÀÌ Á» ÀÌÇØ°¡ °¥¶û ¸»¶û ÇÏ´Â µ¥.
while( (*pDst++ = *pSrc++ ) != '\0' );
Áö±Ý ÀÌ ¹®ÀåÀº szString1ÀÇ ¹è¿¿¡ ÀúÀåµÈ °ªµéÀÌ Çϳª Çϳª szString2·Î ´ëÀÔ È¤Àº ¿Å°ÜÁö°í ÀÖ´Â °ÍÀε¥..
(*pDst++ = *pSrc++ ) != '\0'
ÀÌ ºÎºÐÀ» ¾î¶»°Ô ÇØ¼®Çϸé ÁÁÀ» Áö.. ¸»·Î Ç®ÀÌÇØÁÖ½É °¨»çÇÔ´Ï´ç-0
(*pDst++ = *pSrc++ ) ÀÌ°Ô NULL ¹®ÀÚ°¡ µÉ ¶§±îÁö while ¹®À» ½ÇÇàÇÏ´Â °ÍÀε¥,
±¸Ã¼ÀûÀ¸·Î *pDst°¡ NULL ¹®ÀÚ°¡ ³ª¿Ã ¶§ ±îÁö ½ÇÇàÇÏ´Â °Ç°¡¿ä? Âü ÇØ¼®Çϱ⠳°¨Çϳ׿ä.
(*pDst++ = *pSrc++ ) ÀÌ°Í ÀÚü°¡ ¾î¶»°Ô NULLÀÌ µÇ¶ó´Â °ÇÁö..
Á¦ °³ÀÎÀûÀÎ »ý°¢À¸·Î´Â,
szString1ÀÇ "This is a String"¿¡¼ ¸¶Áö¸· ¹®ÀÚ g±îÁö szString2¿¡ ´ëÀÔµÈ ÈÄ, °ø¹é ¹®ÀÚ('\0')°¡ ¾Æ¸¶ szString2¿¡ ´ëÀԵǰÚÁÒ? ¿Ö³Ä¸é ¹è¿ÀÇ ¸¶Áö¸·Àº Ç×»ó NULL ¹®ÀÚ°¡ Æ÷ÇԵǴϱî¿ä. µû¶ó¼, szString1ÀÇ ¸¶Áö¸· NULL ¹®ÀÚ°¡ szString2·Î ¿Å°ÜÁö´Â °Å±¸¿ä. ±×ÃÝ????? ¾²´Ùº¸´Ï ÀÌ°Ô ¸Â´Â °Í °°Àºµ¥..
ÇÏ¿©Æ° ±× ¶§, while¹®ÀÌ Á¾·á µÇ´Â °ÍÀ̶ó°í Àú´Â »ý°¢Çϴµ¥.
ÇØÄ¿½ºÄð ºÐµéÀº ÀßÇϽôϱî. ('´ÔµéÀº'À̶ó°í ¾²¸é ºñÁ¤»óÀûÀÎ Åë½Å¾îü¶ó¼ »ç¿ëÇÏÁö ¸»¶ó°í µÇ¾îÀֳ׿°-)
Á¦ ¸·¿¬ÇÑ »ý°¢. »½ ¶Õ¸®°Ô µµ¿ÍÁÖ»ï.
´ëÇÐ °¡±âÀü¿¡ È¥ÀÚ °øºÎÇÏ´Â °Å¶ó, µµ¿ò ÁÙ »ç¶÷µéÀÌ ¿©±â ¹Û¿¡ ¾ø³×¿µ ¤»¤»
|
Hit : 4422 Date : 2010/12/08 01:42
|