¿À´Ã ¾à°£ ÄÃÃļîÅ© ºñ½ÁÇÑ Ãæ°ÝÀ» ¹Þ¾Ò´Âµ¥¿ä,
Á¦°¡ ÄÚµùµµÀå »çÀÌÆ®¿¡¼ c¸¦ ±âÃʺÎÅÍ ´Ù½Ã °øºÎÇÏ°í Àִµ¥ ÀÌ °Á¿¡¼ malloc ¸®ÅÏ°ªÀ» ij½ºÆà ÇÏÁö ¾Ê´õ¶ó±¸¿ä? (c++ ¸»°í ±×³É c)
±×·¡¼ "ÀÌ°Å ¹¹ c99Ç¥ÁØ ÁöŲ´Ù´õ´Ï ij½ºÆõµ ¾È¼³ù³×?" Çߴµ¥
¾Ë°íº¸´Ï void ¸¦ ij½ºÆÃÇÏÁö ¾Ê´Â°Ô ¿ÀÈ÷·Á C¾ð¾î ÀûÀ¸·Î´Â ¸Â´Ù°í ÇÏ´õ¶ó±¸¿ä? (???)
--------
Q 7.7
¾î¶² Äڵ带 º¸¸é malloc()ÀÌ ¸®ÅÏÇÑ Æ÷ÀÎÅ͸¦ ´ëÀÔÇÒ Æ÷ÀÎÅÍÀÇ Å¸ÀÔÀ¸·Î ij½ºÆÃÇÑ °ÍÀ» º¼ ¼ö ÀÖ´Â µ¥, ¿Ö ±×·²±î¿ä?
Answer
ANSI/ISO C Ç¥ÁØ¿¡¼ void *¸¦ ¼Ò°³µÇ±â Àü¿¡´Â, ´ë°³ Æ÷ÀÎÅÍ º¯È¯¿¡ °ü°èµÈ °æ°í¸¦ ¾ø¾Ö±â À§ÇØ, ¶Ç´Â ºÒÇÊ¿äÇÑ º¯È¯À» ÁÙÀ̱â À§ÇØ ÀÌ·¯ÇÑ Ä³½ºÆÃÀ» »ç¿ëÇß½À´Ï´Ù.
ANSI/ISO C Ç¥ÁØ¿¡¼´Â ÀÌ·¯ÇÑ Ä³½ºÆÃÀÌ ÀüÇô ÇÊ¿ä¾ø½À´Ï´Ù. ±×¸®°í ÇöÀç ÀÌ·± ij½ºÆÃÀ» »ç¿ëÇÏ´Â °ÍÀº ³ª»Û ÇÁ·Î±×·¡¹Ö ½ºÅ¸ÀÏ·Î °£ÁֵDZ⵵ ÇÕ´Ï´Ù. ¿Ö³ÄÇϸé malloc()ÀÌ ¼±¾ðµÇÁö ¾Ê¾ÒÀ» ¶§ ¹ß»ýÇÒ ¼ö ÀÖ´Â À¯¿ëÇÑ °æ°í ¸Þ½ÃÁö¸¦ ¹ß»ý½ÃÅ°Áö ¾Ê±â ¶§¹®ÀÔ´Ï´Ù; Áú¹® [*]7.6À» Âü°íÇϱ⠹ٶø´Ï´Ù. (±×·¯³ª ÀÌ·± ij½ºÆÃÀº ¿©ÀüÈ÷ ÀÚÁÖ ¾²ÀÌ°í ÀÖ½À´Ï´Ù. ¿Ö³ÄÇϸé C++¿¡¼´Â ÀÌ·¯ÇÑ Ä³½ºÆÃÀÌ ¹Ýµå½Ã ÇÊ¿äÇϱ⠶§¹®¿¡, ȣȯ¼ºÀ» À¯ÁöÇϱâ À§ÇؼÀÔ´Ï´Ù.)
References
[H&S] ¡× 16.1 pp. 386-7
Ãâó : http://cinsk.github.io/cfaqs/html/node9.html
----------
½ºÅà ¿À¹öÇ÷ο쿡µµ ÀÌ·± ³»¿ëÀÌ Àֳ׿ä..
http://stackoverflow.com/questions/605845/do-i-cast-the-result-of-malloc
À½ ±Ùµ¥ ¾îÂ÷ÇÇ Á¦ ÃÖÁ¾¸ñÇ¥´Â c++ÀÌ´Ï±î ±×³É Ä³½ºÆà ÇÏ´Â ½À°ü µéÀÌ´Â°Ô ³ªÀ»±î¿ä? °³¹ß ȯ°æµµ VS¶ó Ç¥Áصµ Á¦´ë·Î Áö¿ø ¾ÈµÉÅÙµ¥..
Àâ´ã | 1220¸íÀÌ Àоú¾î¿ä. 3.136.17.252