Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

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


Ïà¹ØÎĵµ£º

ÉîÈëÀí½âCÓïÑÔÖ¸ÕëµÄ°ÂÃØ¡¾×ªÌû¡¿

http://www.kuqin.com/language/20090314/39862.html
Ö¸ÕëÊÇÒ»¸öÌØÊâµÄ±äÁ¿£¬ËüÀïÃæ´æ´¢µÄÊýÖµ±»½âÊͳÉΪÄÚ´æÀïµÄÒ»¸öµØÖ·¡£ Òª¸ãÇåÒ»¸öÖ¸ÕëÐèÒª¸ãÇåÖ¸ÕëµÄËÄ·½ÃæµÄÄÚÈÝ£ºÖ¸ÕëµÄÀàÐÍ£¬Ö¸ÕëËùÖ¸ÏòµÄ ÀàÐÍ£¬Ö¸ÕëµÄÖµ»òÕß½ÐÖ¸ÕëËùÖ¸ÏòµÄÄÚ´æÇø£¬»¹ÓÐÖ¸Õë±¾ÉíËùÕ¼¾ÝµÄÄÚ´æÇø¡£ÈÃÎÒÃÇ·Ö±ð˵Ã÷¡£
¡¡¡¡ ÏÈÉùÃ÷¼¸¸öÖ¸Õë·Å×Å×öÀý× ......

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Ö¸Õë² ......

C\C++º¯Êýµ÷Óõļ¸ÖÖ·½Ê½

µ÷Óú¯Êýʱ£¬¼ÆËã»ú³£ÓÃÕ»À´´æ´¢´«µÝ¸øº¯ÊýµÄ²ÎÊý¡£
Õ»ÊÇÒ»ÖÖÏȽøºó³öµÄÊý¾Ý½á¹¹£¬Õ»ÓÐÒ»¸ö´æ´¢Çø¡¢Ò»¸öÕ»¶¥Ö¸Õë¡£Õ»¶¥Ö¸ÕëÖ¸Ïò¶ÑÕ»ÖеÚÒ»¸ö¿ÉÓõÄÊý¾ÝÏ±»³ÆÎªÕ»¶¥£©¡£Óû§¿ÉÒÔÔÚÕ»¶¥ÉÏ·½ÏòÕ»ÖмÓÈëÊý¾Ý£¬Õâ¸ö²Ù×÷±»³ÆÎªÑ¹Õ»(Push)£¬Ñ¹Õ»ÒÔºó£¬Õ»¶¥×Ô¶¯±ä³ÉмÓÈëÊý¾ÝÏîµÄλÖã¬Õ»¶¥Ö¸ÕëÒ²ËæÖ®Ð޸ġ£Óû§Ò²¿ÉÒÔ´Ó¶ÑÕ»ÖÐ ......

ÈçºÎʹC£¬C++±àÒëÆ÷¶¼¿ÉÒÔµ÷ÓÃCдµÄDLL

    ÓÉÓÚC++±àÒëÆ÷ÐèÒªÖ§³Öº¯ÊýµÄÖØÔØ£¬»á¸Ä±äº¯ÊýµÄÃû³Æ£¬Óë±ê×¼CÖк¯ÊýÃû³Æ²»Í¬¡£È»¶ødllµÄµ¼³öº¯Êýͨ³£ÊDZê×¼C¶¨ÒåµÄ£¬Èñê×¼C±àдµÄdllº¯Êý¶¨ÒåÔÚCºÍC++±àÒëÆ÷϶¼ÄܱàÒëͨ¹ý£¬Í¨³£»áʹÓÃÒÔϵĸñʽ£º£¨Õâ¸ö¸ñʽÔںܶà³ÉÊìµÄ´úÂëÖкܳ£¼û£©
#ifdef __cplusplus extern "C" 

#endif
// ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ