C ÓïÑÔ malloc ºÍ freeº¯Êýdz̸
	
    
    
	À´×Ôbccn CÓïÑÔÂÛ̳
Ê×ÏÈÉùÃ÷Ò»µã£¬±¾ÎÄΪתÌù¡£ 
dz̸CÖеÄmallocºÍfree
×÷Õߣºlj_860603    ÔĶÁÈ˴Σº43013    ÎÄÕÂÀ´Ô´£º±¾Õ¾Ô´´    ·¢²¼Ê±¼ä£º2006-8-5    ÍøÓÑÆÀÂÛ(32)Ìõ
ÔÌû¼°ÌÖÂÛ£ºhttp://bbs.bccn.net/thread-82212-1-1.html
    ÔÚCÓïÑÔµÄѧϰÖУ¬¶ÔÄÚ´æ¹ÜÀíÕⲿ·ÖµÄÖªÊ¶ÕÆÎÕÓÈÆäÖØÒª£¡Ö®Ç°¶ÔCÖеÄmalloc()ºÍfree()Á½¸öº¯ÊýµÄÁ˽âÉõÉÙ£¬Ö»ÖªµÀ´ó¸Å¸ÃÔõôÓ×—¾ÍÊÇmallocÈ»ºófree¾ÍÒ»ÇÐOKÁË¡£µ±È»ÏÖÔÚ¶ÔÕâÁ½¸öº¯ÊýµÄÌå»áÒ²²»¼ûµÃ¶à£¬²»¹ý¶ÔÓÚ±¾ÎÄÕµÚÈý²¿·ÖµÄÄÚÈݵ¹ÊÇÓÐÁËתÕÛÐÔµÄÈÏʶ£¬ËùÒÔ
дÏÂÕâÆªÎÄÕÂ×÷Ϊһ¸ö¶Ô֪ʶµÄ×ܽᡣÕâÆªÎÄÕÂÖ®ËùÒÔÃüÃûÖÐÓиö“dz̸”µÄ×ÖÑÛ£¬Ò²¾ÍÊÇÕâ¸öÒâ˼ÁË£¡Ï£Íû¶Ô´ó¼ÒÓÐÒ»µã°ïÖú£¡
     Èç¹û²»³¶µÃ̫ԶµÄ»°£¨±ÈÈç˵²Ù×÷ϵͳÖÐÐéÄâÄÚ´æºÍÎïÀíÄÚ´æÈçºÎÔË×öÈçºÎ¹ÜÀíÖ®ÀàµÄ֪ʶµÈ£©£¬ÎҸоõÕâÆªÎÄÕÂÓ¦¸ÃÊDZȽÏÈ«ÃæµØÌ¸ÁËÒ»ÏÂmalloc()ºÍfree().ÕâÆªÎÄÕÂÓÉdzÈëÉ²»¼ûµÃÓжàÉ·ÖÈý¸ö²¿·Ö½éÉÜÖ÷ÒªÄÚÈÝ¡£
·Ï»°ÁËÄÇô¶à£¬ÏÂÃæÁ¢¿Ì½øÈëÖ÷Ìâ================¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·
Ò»¡¢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... 
      
    
     
	
	
    
    
	Ïà¹ØÎĵµ£º
        
    
    ×Ö·û´®ÊÇCÓïÑԵľ«»ªÖ®Ò»£¬CÓïÑÔÊDZÊÊÔ¿¼ÌâµÄºËÐÄ֪ʶµã£¬²»¹ÜÄãÊÇѧc++£¬Ñ§java»¹ÊÇc#¡¢.net£¬»¹Êǽű¾Ê²Ã´µÄ£¬×îºÃ»¹ÊǶ®µãC°É£¬²»¶®C±ÊÊÔ»òÐí±È½Ï³Ô¿÷¡£ËùÒÔÔÚ±ÊÊÔÃæÊÔÖУ¬×Ö·û´®µÄÎÊÌâÊǾ³£³öÏֵ쬯äÖÐÓÐÒ»ÀàÎÊÌâ¾ÍÊÇ×Ô¼ºÊµÏÖһЩ»ù±¾µÄC±ê×¼¿âµÄ×Ö·û´®´¦Àíº¯Êý»òÆäËûC±ê×¼¿âº¯Êý¡£
ÎÊÌâÒ»ÃèÊö£º Óñê×¼Cдһ¸öÅжϸ ......
	
    
        
    
    enumÀàÐ͵ijÉÔ±£¬Ä¬ÈÏÇé¿öÏÂÊÇ´Ó0¿ªÊ¼¸³Öµ£» 
Èç¹ûÖмäij¸ö³ÉÔ±½øÐÐÁËÊÖ¶¯¸³ÖµµÄ»°£¬¸Ã³ÉÔ±µÄÏÂÒ»¸ö³ÉÔ±µÄֵΪ¸Ã³ÉÔ±µÄÖµ+1
#include <stdio.h>
typedef enum {
		PLAYMODE = 1,	// ĬÈÏ´Ó0¿ªÊ¼
		PAUSEMODE,
		STOPMODE = 5,
		TRACKRPTMODE,
		MIXMODE
}Status_t; 
int main()
{
	int n = 4;
	sw ......
	
    
        
    
    ÍøÉÏÒ»µÀ½ðɽµÄÃæÊÔÌ⣺
http://topic.csdn.net/u/20100524/14/0eff992a-2849-4db6-bdaa-d4a200e79b7c.html
Çë·Ö±ðÓÃC++µÄÃæÏò¶ÔÏóºÍ·ºÐÍ»úÖÆ£¬±àдʵÏÖTemplate MethodģʽµÄʾÀý´úÂ룬²¢±È½ÏÁ½ÖÖ·½Ê½¸÷×ÔµÄÓÅȱµã¡£
ÓÃÐ麯ÊýʵÏÖTemplate MethodµÄ·½Ê½¾Í²»¶à˵ÁË¡£Ó÷ºÐ͵ķ½Ê½ÊµÏÖ¶à̬ÔÚATLÀïÃæÓдóÁ¿µÄÓõ½£¡
·ºÐ͵ ......
	
    
        
    
    ÔÚ´Ëժ¼C±àÒëʱ³öÏֵľ¯¸æÐÅÏ¢µÄÒâÒå¡£
1) warning: ISO C90 forbids mixed declarations and code 
CÓïÑÔÊÇÃæÏò¹ý³ÌµÄÓïÑÔ£¬Õâ¸ö¾¯¸æÍ¨³£±íʾÉùÃ÷Ó¦¸ÃÔÚÆäËû´úÂëµÄÇ°Ãæ¡£
2) warning: initialization from incompatible pointer type 
ÔÚLinux kernelÖÐÓÐÐí¶àcallbackº¯Êý£¬Õâ¸ö¾¯¸æ±íÃ÷callbackº¯ÊýµÄʵÏÖÖУ¬»òÕß·µ ......
	
    
        
    
    ×î½ü×öµÄһЩ¹¤×÷ÐèÒªÓõ½Ï̳߳ؼ¼Êõ£¬Òò´Ë²Î¿¼ÁËһЩ×ÊÁϺÍÊé¼®£¬Èç¡¶0bug c/c++ÉÌÓù¤³ÌÖ®µÀ¡·¡£
Ϊ´ËÔÚlinuxƽ̨ÉÏÓô¿cдÁËÒ»¸öÏ̳߳صÄʵÏÖ¡£
ÔÚ´ËÁгöÁËÔ´úÂë¡£
Ö÷ÒªÓõ½µÄÊý¾Ý½á¹¹ÓÐ 
1.struct  thread_pool_t    // thread pool µÄʵÏÖ´úÂë
2.struct thread_pool_token_t  &nb ......