|
|
|
|
|
|
|
|
|
|
|
|
|
3204, 160/161 |
|
soul214 | |||||||
(char*)&integer.... | |||||||
http://www.hackerschool.org/HS_Boards/zboard.php?id=QNA_programming&no=3446 [º¹»ç]
Hit : 5187 Date : 2012/06/26 02:44
|
|||||||
chasper0101 | ´õºíÆ÷ÀÎÅÍÀÇ °³³äÀ¸·Î »ý°¢ÇÏ½Ã¸é µÇ¿ä.. | 2012/06/27 | |
soul214 | Á¶±Ý´õ ÀÚ¼¼È÷ ¼³¸íÀº ¾ÈµÉ±î¿ä??.. | 2012/06/28 | |
wolverine | int a = 10; compiler/linker¿¡ ÀÇÇؼ º¯¼ö aÀÇ memory address°¡ °áÁ¤µÇ°í, ±×°÷¿¡ 10À̶ó´Â °ªÀÌ ÀúÀåµË´Ï´Ù. (char*)a a¶ó´Â º¯¼ö¿¡ ÀÖ´Â 10À̶ó´Â °ªÀÌ char pointer ÇüÅ·ΠÇüº¯È¯(casting)ÀÌ µË´Ï´Ù. (char*)&a aÀÇ memory address°¡ char pointer ÇüÅ·ΠÇüº¯È¯(casting)ÀÌ µË´Ï´Ù. ¿¹¸¦ µé¾î¼ ´ÙÀ½°ú °°ÀÌ memory°¡ ÀâÇô ÀÖ´Ù°í °¡Á¤À» ÇßÀ»°æ¿ì, address value 0x1000 10 <---- º¯¼ö a°¡ ÇÒ´ç(alloate) µÈ °÷ 0x1001 11 0x1002 12 0x1003 0 0x000a xx 0x000b xx 0x000c xx (char*)a ´Â 10À̶ó´Â °ªÀ» ¹ÝÇÑÇÕ´Ï´Ù. µû¶ó¼ ÀÌ°ÍÀ» stringÀ¸·Î ÀÌ¿ëÇÏ°Ô µÇ¸é, 0x000a(10) ¹øÁö¿¡ ÀúÀåµÇ¾î ÀÖ´Â °ªµéÀÌ stringÀ¸·Î ÀÌ¿ëµË´Ï´Ù. ¸¸¾à ÇöÀç memory°¡ À§ÀÇ °æ¿ì¿Í °°À»¶§¿¡ printf("%s", (char*)a) ¶ó°í ÇϰԵǸé, printf ÇÔ¼ö´Â 0x000a¹øÁö¿¡ ÀÖ´Â °ªÀ» stringÀ¸·Î ÀνÄÇÏ¿©¼ xx¸¦ Ãâ·ÂÇϰԵǸç, À̶§¿¡, xx°ªÀÌ '0'ÀÌ µÉ ¶§±îÁö stringÀ» Ãâ·ÂÇÕ´Ï´Ù. (char*)&a´Â 0x1000 À̶ó´Â °ªÀ» ¹ÝȯÇÕ´Ï´Ù. µû¶ó¼ ÀÌ°ÍÀ» stringÀ¸·Î ÀÌ¿ëÇÏ°Ô µÇ¸é, 0x1000 ¹øÁö¿¡ ÀúÀåµÇ¾î ÀÖ´Â °ªµéÀÌ stringÀ¸·Î ÀÌ¿ëµË´Ï´Ù. ¸¸¾à ÇöÀç memory°¡ À§ÀÇ °æ¿ì¿Í °°À»¶§¿¡ printf("%s", (char*)&a) ¶ó°í ÇϰԵǸé, printf ÇÔ¼ö´Â 0x1000¹øÁö¿¡ ÀÖ´Â °ªÀ» stringÀ¸·Î ÀνÄÇÏ¿©¼ ASCII 10,11,12¸¦ Â÷·Ê´ë·Î Ãâ·ÂÇϰԵǸç, 0ÀÌ ³ª¿À°ÔµÇ´Â ½ÃÁ¡¿¡¼ Ãâ·ÂÀ» Á¾·áÇÏ°Ô µË´Ï´Ù. |
2012/07/04 | |
|
|