CÖÐmallocºÍfreeµÄÔÀí Õª×Ôtechriver.cublog.cn
̸̸CÓïÑÔµÄmalloc()ºÍfree()
Ò»¡¢malloc()ºÍfree()µÄ»ù±¾¸ÅÄîÒÔ¼°»ù±¾Ó÷¨£º
1¡¢º¯ÊýÔÐͼ°ËµÃ÷£º
void *malloc(long NumBytes)£º¸Ãº¯Êý·ÖÅäÁËNumBytes¸ö×Ö½Ú£¬²¢·µ»ØÁËÖ¸ÏòÕâ¿éÄÚ´æµÄÖ¸Õë¡£Èç¹û·ÖÅäʧ°Ü£¬Ôò·µ»ØÒ»¸ö¿ÕÖ¸Õ루NULL£©¡£
¹ØÓÚ·ÖÅäʧ°ÜµÄÔÒò£¬Ó¦¸ÃÓжàÖÖ£¬±ÈÈç˵¿Õ¼ä²»×ã¾ÍÊÇÒ»ÖÖ¡£
void free(void *FirstByte)£º ¸Ãº¯ÊýÊǽ«Ö®Ç°ÓÃmalloc·ÖÅäµÄ¿Õ¼ä»¹¸ø³ÌÐò»òÕßÊDzÙ×÷ϵͳ£¬Ò²¾ÍÊÇÊÍ·ÅÁËÕâ¿éÄڴ棬ÈÃËüÖØÐµõ½×ÔÓÉ¡£
2¡¢º¯ÊýµÄÓ÷¨£º
ÆäʵÕâÁ½¸öº¯ÊýÓÃÆðÀ´µ¹²»ÊǺÜÄÑ£¬Ò²¾ÍÊÇmalloc()Ö®ºó¾õµÃÓù»Á˾Í˦ÁËËü°ÑËü¸øfree()ÁË£¬¾Ù¸ö¼òµ¥Àý×Ó£º
³ÌÐò´úÂ룺
// Code...
char *Ptr = NULL;
Ptr = (char *)malloc(100 * sizeof(char));
if (NULL == Ptr)
{
exit (1);
}
gets(Ptr);
// code...
free(Ptr);
Ptr = NULL;
// code...
¾ÍÊÇÕâÑù£¡µ±È»£¬¾ßÌåÇé¿öÒª¾ßÌå·ÖÎöÒÔ¼°¾ßÌå½â¾ö¡£±ÈÈç˵£¬Ä㶨ÒåÁËÒ»¸öÖ¸Õ룬ÔÚÒ»¸öº¯ÊýÀïÉêÇëÁËÒ»¿éÄÚ´æÈ»ºóͨ¹ýº¯Êý·µ»Ø´«µÝ¸øÕâ¸öÖ¸Õ룬ÄÇôҲÐíÊÍ·ÅÕâ¿éÄÚ´æÕâÏ×÷¾ÍÓ¦¸ÃÁô¸øÆäËûº¯ÊýÁË¡£
3¡¢¹ØÓÚº¯ÊýʹÓÃÐèҪעÒâµÄһЩµØ·½£º
A¡¢ÉêÇëÁËÄÚ´æ¿Õ¼äºó£¬±ØÐë¼ì²éÊÇ·ñ·ÖÅä³É¹¦¡£
B¡¢µ±²»ÐèÒªÔÙʹÓÃÉêÇëµÄÄÚ´æÊ±£¬¼ÇµÃÊÍ·Å£»ÊͷźóÓ¦¸Ã°ÑÖ¸ÏòÕâ¿éÄÚ´æµÄÖ¸ÕëÖ¸ÏòNULL£¬·ÀÖ¹³ÌÐòºóÃæ²»Ð¡ÐÄʹÓÃÁËËü¡£
C¡¢ÕâÁ½¸öº¯ÊýÓ¦¸ÃÊÇÅä¶Ô¡£Èç¹ûÉêÇëºó²»ÊͷžÍÊÇÄÚ´æÐ¹Â¶£»Èç¹ûÎÞ¹ÊÊÍ·ÅÄǾÍÊÇʲôҲûÓÐ×ö¡£ÊÍ·ÅÖ»ÄÜÒ»´Î£¬Èç¹ûÊÍ·ÅÁ½´Î¼°Á½´ÎÒÔÉÏ»á
³öÏÖ´íÎó£¨ÊÍ·Å¿ÕÖ¸ÕëÀýÍ⣬ÊÍ·Å¿ÕÖ¸ÕëÆäʵҲµÈÓÚɶҲû×ö£¬ËùÒÔÊÍ·Å¿ÕÖ¸ÕëÊͷŶàÉٴζ¼Ã»ÓÐÎÊÌ⣩¡£
D¡¢ËäÈ»malloc()º¯ÊýµÄÀàÐÍÊÇ(void *),ÈκÎÀàÐ͵ÄÖ¸Õë¶¼¿ÉÒÔת»»³É(void *),µ«ÊÇ×îºÃ»¹ÊÇÔÚÇ°Ãæ½øÐÐÇ¿ÖÆÀàÐÍת»»£¬ÒòΪÕâÑù¿ÉÒÔ¶ã¹ýÒ»
Щ±àÒëÆ÷µÄ¼ì²é¡£
ºÃÁË£¡×î»ù´¡µÄ¶«Î÷´ó¸ÅÕâô
Ïà¹ØÎĵµ£º
1 ÒýÑÔ
ÔÚǶÈëʽӦÓÃϵͳÖУ¬ÌرðÊÇÖÇÄÜÒÇÆ÷¡¢ÒÇ±í¡¢»úµçÉ豸¼°×°ÖÿØÖÆÖУ¬ÐèҪʹÓÃA/Dת»»½«Ä£ÄâµÄµçÁ¿ÐźÅת»»ÎªÊý×ÖÐźŽøÐд¦Àí£¬¶øºóÔÙ½«´¦ÀíµÄ½á¹ûͨ¹ýD/Aת»»ÎªÄ£ÄâÁ¿ÊµÏÖ¶Ô±»¿Ø¹ý³ÌºÍ¶ÔÏóµÄ¿ØÖÆ[1]¡£
»ùÓÚARM920TÄں˵Äs3c2410ÊÇÒ»¿îµÍ¹¦ºÄ£¬¸ßÐԼ۱ȵĴ¦ÀíÆ÷[2]¡£Õâ¿î´¦ÀíÆ÷ÄÚ²¿¼¯³ÉÁ˶àÖÖ¿ØÖƽӿڣ¬×Ô´ø8·1 ......
NAME
perlembed - ÔÚ C ³ÌÐòÖÐǶÈë perl
DESCRIPTION
µ¼ÑÔ
ÄãÊÇÏëÒª£º
ÔÚ Perl ÖÐʹÓà C£¿
ÔĶÁ perlxstut¡¢perlxs¡¢h2xs¡¢perlguts ºÍ perlapi¡£
ÔÚ Perl ÖÐʹÓà Unix ³ÌÐò£¿
& ......
http://www.cppreference.com/wiki/cn/stl/algorithm/remove
Óï·¨:
#include <algorithm>
forward_iterator remove( forward_iterator start, forward_iterator end, const TYPE& val );
remove Ëã·¨ÒÆ³ý [start,end) ·¶Î§Ö®ÄÚµÄËùÓÐÓë val ÏàµÈµÄÔªËØ¡£
´Ëº¯ÊýµÄ·µ»ØÖµÊÇÒ»¸öµ ......