C/C++ÖÐmallocºÍnewµÄÇø±ð
¡¡¡¡1£¬mallocÓëfreeÊÇC++/CÓïÑԵıê×¼¿âº¯Êý£¬new/deleteÊÇC++µÄÔËËã·û¡£ËüÃǶ¼¿ÉÓÃÓÚÉêÇ붯̬ÄÚ´æºÍÊÍ·ÅÄÚ´æ¡£
¡¡¡¡2£¬¶ÔÓÚ·ÇÄÚ²¿Êý¾ÝÀàÐ͵ĶÔÏó¶øÑÔ£¬¹âÓÃmaloc/freeÎÞ·¨Âú×㶯̬¶ÔÏóµÄÒªÇó¡£¶ÔÏóÔÚ´´½¨µÄͬʱҪ×Ô¶¯Ö´Ðй¹Ô캯Êý£¬¶ÔÏóÔÚÏûÍö֮ǰҪ×Ô¶¯Ö´ÐÐÎö¹¹º¯Êý¡£ÓÉÓÚmalloc/freeÊǿ⺯Êý¶ø²»ÊÇÔËËã·û£¬²»ÔÚ±àÒëÆ÷¿ØÖÆÈ¨ÏÞÖ®ÄÚ£¬²»Äܹ»°ÑÖ´Ðй¹Ô캯ÊýºÍÎö¹¹º¯ÊýµÄÈÎÎñÇ¿¼ÓÓÚmalloc/free.
¡¡¡¡3£¬Òò´ËC++ÓïÑÔÐèÒªÒ»¸öÄÜÍê³É¶¯Ì¬ÄÚ´æ·ÖÅäºÍ³õʼ»¯¹¤×÷µÄÔËËã·ûnew£¬ÒÔÒ»¸öÄÜÍê³ÉÇåÀíÓëÊÍ·ÅÄڴ湤×÷µÄÔËËã·ûdelete.×¢Òânew/delete²»Êǿ⺯Êý¡£
¡¡¡¡4£¬C++³ÌÐò¾³£Òªµ÷ÓÃCº¯Êý£¬¶øC³ÌÐòÖ»ÄÜÓÃmalloc/free¹ÜÀí¶¯Ì¬ÄÚ´æ
¡¡¡¡new ÊǸö²Ù×÷·û£¬ºÍʲô"+"£¬"-"£¬"="……ÓÐÒ»ÑùµÄµØÎ»¡£
¡¡¡¡mallocÊǸö·ÖÅäÄÚ´æµÄº¯Êý£¬¹©Äãµ÷Óõġ£
¡¡¡¡newÊDZ£Áô×Ö£¬²»ÐèҪͷÎļþÖ§³Ö¡£
¡¡¡¡mallocÐèҪͷÎļþ¿âº¯ÊýÖ§³Ö¡£
¡¡¡¡new ½¨Á¢µÄÊÇÒ»¸ö¶ÔÏó£¬
¡¡¡¡malloc·ÖÅäµÄÊÇÒ»¿éÄÚ´æ¡£
¡¡¡¡new½¨Á¢µÄ¶ÔÏóÄã¿ÉÒÔ°ÑËüµ±³ÉÒ»¸öÆÕͨµÄ¶ÔÏó£¬ÓóÉÔ±º¯Êý·ÃÎÊ£¬²»ÒªÖ±½Ó·ÃÎÊËüµÄµØÖ·¿Õ¼ä
¡¡¡¡malloc·ÖÅäµÄÊÇÒ»¿éÄÚ´æÇøÓò£¬¾ÍÓÃÖ¸Õë·ÃÎʺÃÁË£¬¶øÇÒ»¹¿ÉÒÔÔÚÀïÃæÒÆ¶¯Ö¸Õë¡£
¡¡¡¡¼ò¶øÑÔÖ®£º
¡¡¡¡new ÊÇÒ»¸ö²Ù×÷·û£¬¿ÉÒÔÖØÔØ
¡¡¡¡mallocÊÇÒ»¸öº¯Êý£¬¿ÉÒÔ¸²¸Ç
¡¡¡¡new ³õʼ»¯¶ÔÏ󣬵÷ÓöÔÏóµÄ¹¹Ô캯Êý£¬¶ÔÓ¦µÄdeleteµ÷ÓÃÏàÓ¦µÄÎö¹¹º¯Êý
¡¡¡¡malloc½ö½ö·ÖÅäÄڴ棬free½ö½ö»ØÊÕÄÚ´æ
ת×Ô£ºhttp://tech.ddvip.com/2009-05/1242201392118933.html
Ïà¹ØÎĵµ£º
×ªÔØÓÚÕâÀhttp://www.programfan.com/article/showarticle.asp?id=2798
²»Ì«¶®ÈçºÎ¶ÔÔËÓÃc++µÄʱ¼äº¯ÊýµÄÅóÓѶ࿴¿´°É¡£
*************************ÆÓËØµÄ·Ö¸îÏß**********************************
׫ÎÄ/ÖÜÏè
ͻ񻣼
±¾ÎÄ´Ó½éÉÜ»ù´¡¸ÅÄîÈëÊÖ£¬Ì½ÌÖÁËÔÚC/C++ÖжÔÈÕÆÚºÍʱ¼ä²Ù×÷ËùÓõ½µÄÊý¾Ý½á¹¹ºÍº¯Êý£¬²¢¶Ô¼ÆÊ±¡¢Ê ......
¿´µ½Õâ¸öÃæÊÔÌâ,¹À¼ÆºÜ¶à¸ÕѧCÖ¸ÕëµÄͬѧ¶¼»á¸ã´í.
void GetMemory(char *p)
{
// ´«µÝ½øÀ´µÄµÄֵʹµÃ*p==NULL
// ÕâÀïÐ޸ĵÄÊÇÕâ¸öº¯ÊýÄÚµÄÁÙʱָÕë±äÁ¿pµÄÖµ
p = (char *)malloc(100);
}
void Test(void)
{
char *str = NULL;
// ´«µÝ½øÈ¥µÄÊÇstrµÄÖµNULL
GetMemory(str);
// ÕâÀïstrÖ¸Õë² ......
µ÷Óú¯Êýʱ£¬¼ÆËã»ú³£ÓÃÕ»À´´æ´¢´«µÝ¸øº¯ÊýµÄ²ÎÊý¡£
Õ»ÊÇÒ»ÖÖÏȽøºó³öµÄÊý¾Ý½á¹¹£¬Õ»ÓÐÒ»¸ö´æ´¢Çø¡¢Ò»¸öÕ»¶¥Ö¸Õë¡£Õ»¶¥Ö¸ÕëÖ¸Ïò¶ÑÕ»ÖеÚÒ»¸ö¿ÉÓõÄÊý¾ÝÏ±»³ÆÎªÕ»¶¥£©¡£Óû§¿ÉÒÔÔÚÕ»¶¥ÉÏ·½ÏòÕ»ÖмÓÈëÊý¾Ý£¬Õâ¸ö²Ù×÷±»³ÆÎªÑ¹Õ»(Push)£¬Ñ¹Õ»ÒÔºó£¬Õ»¶¥×Ô¶¯±ä³ÉмÓÈëÊý¾ÝÏîµÄλÖã¬Õ»¶¥Ö¸ÕëÒ²ËæÖ®Ð޸ġ£Óû§Ò²¿ÉÒÔ´Ó¶ÑÕ»ÖÐ ......