Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB
ÈÈÃűêÇ©£º c c# c++ asp asp.net linux php jsp java vb Python Ruby mysql sql access Sqlite sqlserver delphi javascript Oracle ajax wap mssql html css flash flex dreamweaver xml
 ×îÐÂÎÄÕ : c

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);
  &n ......

dz̸CÓëC++µÄÉè¼ÆÓë±à³Ì·ç¸ñ£¨¶þ£©

ÉÏ´Î×ܽáÁËC++£¨ÃæÏò¶ÔÏó£©Éè¼ÆµÄºËÐÄ˼Ï룬²¢ÇÒÀý¾ÙÁËʹÓÃÀàÄ£ÐÍÀ´Ìæ´úifºÍswitchµÄÒ»ÖÖ½ÏΪµäÐ͵ÄÇé¿ö¡£ÏÂÃæÏëÀ´Ì¸Ì¸C++ÔÚ±àÂë·½ÃæµÄÌØµã¡£
ÔںܶྭµäµÄC++½Ì³ÌÖж¼ÓÐÒ»¸ö½¨Ò飺Ӧ¾¡Á¿Ê¹Óû§´úÂ루¿âµÄʹÓÃÕߣ©¿´ÆðÀ´¶ÌС¶ø¼òµ¥¡£°´ÕÕ³£Ê¶£¬¼òµ¥µÄ´úÂëͨ³£Òª±È´ó¶ÎµÄ´úÂëºÃÀí½â£¬¶øÓû§´úÂëͨ³£ÊµÏÖµÄÊÇ×îÉϲãµÄ¹¦ÄÜ»òÕß½çÃæ£¬ËüµÄ²»È·¶¨ÐÔ¸ü´ó£¬¾­Ñ鏿ËßÎÒÃÇ£¬×îÈÝÒ׳ö´íµÄ´úÂëÕýÊÇÄÇЩ±»Æµ·±Ð޸ĵĴúÂ룡Òò´Ë¼òµ¥µÄÓû§´úÂëÊÇÓкô¦µÄ£¬ÔÚ¿ª·¢Ò»¸ö¿âʱÎÒÃÇÓ¦¾¡Á¿×ñÊØÕâ¸ö½¨Òé¡£
C++ÓÐÁ½¸ö»úÖÆ¿ÉÒÔ°ïÖúÎÒÃÇʵÏÖÕâÒ»µã£¬Ò»¸öÊÇÔËËã·ûÖØÔØ£¬ÁíÒ»¸ö¾ÍÊÇÄ£°å¡£
C++µÄÔËËã·ûÖØÔØ»úÖÆ·Ç³£Ç¿´ó£¬ÕâÀï¾Í¾ÙÒ»¸ö¼òµ¥µÄÀý×Ó¡£CÓïÑÔÖÐÓÐÒ»ÖÖ¶ÔÊý×éµÄÌØÊâ³õʼ»¯·½Ê½£¬±ÈÈ磺int a[4] = {1,4,2,3}; ÕâÑùµÄÓï·¨·Ç³£ÇåÎúÇÒÈÝÒ×ÈÃÈËÀí½â£¬È»¶øºÜ¿ÉϧµÄÊÇ£¬ÕâÑùµÄÓï·¨²»ÄÜÓÃÓÚ¶ÔÊý×éµÄ¸³Öµ£¬¶ÔÊý×éµÄ¸³Öµ±ØÐëʹÓÃÒ»¸öÑ­»·²Ù×÷£¬µ±Õâ¸öÊý×éÖеÄÄÚÈݲ»Êǰ´Ë³ÐòÅÅÁÐʱ£¬¶ÔÊý×éµÄ¸³ÖµºÜ¿ÉÄÜ»áÑݱä³ÉÒ»¸ö·Ç³£¸´ÔӵĹý³Ì¡£
µ«ÊÇÔÚC++ÖУ¬ÎÒÃÇÈ´¿ÉÒÔÀûÓÃÖØÔØÔËËã·ûÀ´ÊµÏÖÒ»ÖÖÏàËÆµÄ¸³ÖµÓï·¨£¬·½·¨¾ÍÊÇÎÒÃÇÉè¼ÆÒ»¸öµü´úÆ÷£¬²¢ÖØÔظõü´úÆ÷µÄ , ÔËËã·û£¬È»ºóÔÙÉè¼ÆÒ»¸ö¿ÉÒÔʹÓÃÕâ¸öµü´úÆ÷µÄÊý×éÀà ......

dz̸CÓëC++µÄÉè¼ÆÓë±à³Ì·ç¸ñ£¨¶þ£©

ÉÏ´Î×ܽáÁËC++£¨ÃæÏò¶ÔÏó£©Éè¼ÆµÄºËÐÄ˼Ï룬²¢ÇÒÀý¾ÙÁËʹÓÃÀàÄ£ÐÍÀ´Ìæ´úifºÍswitchµÄÒ»ÖÖ½ÏΪµäÐ͵ÄÇé¿ö¡£ÏÂÃæÏëÀ´Ì¸Ì¸C++ÔÚ±àÂë·½ÃæµÄÌØµã¡£
ÔںܶྭµäµÄC++½Ì³ÌÖж¼ÓÐÒ»¸ö½¨Ò飺Ӧ¾¡Á¿Ê¹Óû§´úÂ루¿âµÄʹÓÃÕߣ©¿´ÆðÀ´¶ÌС¶ø¼òµ¥¡£°´ÕÕ³£Ê¶£¬¼òµ¥µÄ´úÂëͨ³£Òª±È´ó¶ÎµÄ´úÂëºÃÀí½â£¬¶øÓû§´úÂëͨ³£ÊµÏÖµÄÊÇ×îÉϲãµÄ¹¦ÄÜ»òÕß½çÃæ£¬ËüµÄ²»È·¶¨ÐÔ¸ü´ó£¬¾­Ñ鏿ËßÎÒÃÇ£¬×îÈÝÒ׳ö´íµÄ´úÂëÕýÊÇÄÇЩ±»Æµ·±Ð޸ĵĴúÂ룡Òò´Ë¼òµ¥µÄÓû§´úÂëÊÇÓкô¦µÄ£¬ÔÚ¿ª·¢Ò»¸ö¿âʱÎÒÃÇÓ¦¾¡Á¿×ñÊØÕâ¸ö½¨Òé¡£
C++ÓÐÁ½¸ö»úÖÆ¿ÉÒÔ°ïÖúÎÒÃÇʵÏÖÕâÒ»µã£¬Ò»¸öÊÇÔËËã·ûÖØÔØ£¬ÁíÒ»¸ö¾ÍÊÇÄ£°å¡£
C++µÄÔËËã·ûÖØÔØ»úÖÆ·Ç³£Ç¿´ó£¬ÕâÀï¾Í¾ÙÒ»¸ö¼òµ¥µÄÀý×Ó¡£CÓïÑÔÖÐÓÐÒ»ÖÖ¶ÔÊý×éµÄÌØÊâ³õʼ»¯·½Ê½£¬±ÈÈ磺int a[4] = {1,4,2,3}; ÕâÑùµÄÓï·¨·Ç³£ÇåÎúÇÒÈÝÒ×ÈÃÈËÀí½â£¬È»¶øºÜ¿ÉϧµÄÊÇ£¬ÕâÑùµÄÓï·¨²»ÄÜÓÃÓÚ¶ÔÊý×éµÄ¸³Öµ£¬¶ÔÊý×éµÄ¸³Öµ±ØÐëʹÓÃÒ»¸öÑ­»·²Ù×÷£¬µ±Õâ¸öÊý×éÖеÄÄÚÈݲ»Êǰ´Ë³ÐòÅÅÁÐʱ£¬¶ÔÊý×éµÄ¸³ÖµºÜ¿ÉÄÜ»áÑݱä³ÉÒ»¸ö·Ç³£¸´ÔӵĹý³Ì¡£
µ«ÊÇÔÚC++ÖУ¬ÎÒÃÇÈ´¿ÉÒÔÀûÓÃÖØÔØÔËËã·ûÀ´ÊµÏÖÒ»ÖÖÏàËÆµÄ¸³ÖµÓï·¨£¬·½·¨¾ÍÊÇÎÒÃÇÉè¼ÆÒ»¸öµü´úÆ÷£¬²¢ÖØÔظõü´úÆ÷µÄ , ÔËËã·û£¬È»ºóÔÙÉè¼ÆÒ»¸ö¿ÉÒÔʹÓÃÕâ¸öµü´úÆ÷µÄÊý×éÀà ......

³£¼ûµÄC×Ö·û´®´¦Àíº¯ÊýµÄÔ´´úÂë

char *strcpy(char *strDes, const char *strSrc)
{
    assert((strDes != NULL) && (strSrc != NULL));
    char *address = strDes;
    while ((*strDes ++ = *strSrc ++) != '\0')
        NULL;
    return address;
}
char *strchr_(char *str, int c)
{
    assert(str != NULL);
    while ((*str != (char) c) && (*str != '\0'))
        str ++;
    if (*str != '\0')
        return str;
    return NULL;
}
char *strchr(const char *str, int c)
{
    ......

linux 0.11 ÄÚºËѧϰ console.c£¬¿ØÖÆÌ¨


²Î¿¼¡¶linuxÄÚºËÍêȫעÊÍ¡·ºÍÍøÉÏÏà¹ØÎÄÕÂ
/*
 * ¿ØÖÆÌ¨ÏÔʾ²Ù×÷
 */
/*
 *  linux/kernel/console.c
 *
 *  (C) 1991  Linus Torvalds
 */
/*
 * console.c
 *
 * This module implements the console io functions
 * 'void con_init(void)'
 * 'void con_write(struct tty_queue * queue)'
 * Hopefully this will be a rather complete VT102 implementation.
 *
 * Beeping thanks to John T Kohl.
 */
/**********************
 * con_init con_write *
 **********************/
/*
 *  NOTE!!! We sometimes disable and enable interrupts for a short while
 * (to put a word in video IO), but this will work even for keyboard
 * interrupts. We know interrupts aren't enabled when getting a keyboard
 * interrupt, as we use trap-gates. Hopefully all is well.
 */
/*
 * Code to check for different video-cards mostly by Galen Hunt,
 * <g-hunt@ee.utah.edu&g ......

linux 0.11 ÄÚºËѧϰ console.c£¬¿ØÖÆÌ¨


²Î¿¼¡¶linuxÄÚºËÍêȫעÊÍ¡·ºÍÍøÉÏÏà¹ØÎÄÕÂ
/*
 * ¿ØÖÆÌ¨ÏÔʾ²Ù×÷
 */
/*
 *  linux/kernel/console.c
 *
 *  (C) 1991  Linus Torvalds
 */
/*
 * console.c
 *
 * This module implements the console io functions
 * 'void con_init(void)'
 * 'void con_write(struct tty_queue * queue)'
 * Hopefully this will be a rather complete VT102 implementation.
 *
 * Beeping thanks to John T Kohl.
 */
/**********************
 * con_init con_write *
 **********************/
/*
 *  NOTE!!! We sometimes disable and enable interrupts for a short while
 * (to put a word in video IO), but this will work even for keyboard
 * interrupts. We know interrupts aren't enabled when getting a keyboard
 * interrupt, as we use trap-gates. Hopefully all is well.
 */
/*
 * Code to check for different video-cards mostly by Galen Hunt,
 * <g-hunt@ee.utah.edu&g ......

C/C++¹Ø¼ü×Östatic,const,inline,define,typedef

C/C++¹Ø¼ü×Östatic,const,inline,define,typedef 


document.body.oncopy = function() {
if (window.clipboardData) {
setTimeout(function() {
var text = clipboardData.getData("text");
if (text && text.length > 300) {
text = text + "\r\n\n±¾ÎÄÀ´×ÔCSDN²©¿Í£¬×ªÔØÇë±êÃ÷³ö´¦£º" + location.href;
clipboardData.setData("text", text);
}
}, 100);
}
}

Ò»
static
1)
²úÉú±³¾°
Òý³öÔ­Òò£ºº¯ÊýÄÚ²¿¶¨ÒåµÄ±äÁ¿£¬ÔÚ³ÌÐòÖ´Ðе½ËüµÄ¶¨Ò崦ʱ£¬±àÒëÆ÷ΪËüÔÚÕ»ÉÏ·ÖÅä¿Õ¼ä£¬´ó¼ÒÖªµÀ£¬º¯ÊýÔÚÕ»ÉÏ·ÖÅäµÄ¿Õ¼äÔڴ˺¯ÊýÖ´ÐнáÊøÊ±»áÊͷŵô£¬ÕâÑù¾Í²úÉúÁËÒ» ......

C/C++¹Ø¼ü×Östatic,const,inline,define,typedef

C/C++¹Ø¼ü×Östatic,const,inline,define,typedef 


document.body.oncopy = function() {
if (window.clipboardData) {
setTimeout(function() {
var text = clipboardData.getData("text");
if (text && text.length > 300) {
text = text + "\r\n\n±¾ÎÄÀ´×ÔCSDN²©¿Í£¬×ªÔØÇë±êÃ÷³ö´¦£º" + location.href;
clipboardData.setData("text", text);
}
}, 100);
}
}

Ò»
static
1)
²úÉú±³¾°
Òý³öÔ­Òò£ºº¯ÊýÄÚ²¿¶¨ÒåµÄ±äÁ¿£¬ÔÚ³ÌÐòÖ´Ðе½ËüµÄ¶¨Ò崦ʱ£¬±àÒëÆ÷ΪËüÔÚÕ»ÉÏ·ÖÅä¿Õ¼ä£¬´ó¼ÒÖªµÀ£¬º¯ÊýÔÚÕ»ÉÏ·ÖÅäµÄ¿Õ¼äÔڴ˺¯ÊýÖ´ÐнáÊøÊ±»áÊͷŵô£¬ÕâÑù¾Í²úÉúÁËÒ» ......

C/C++Îļþ²Ù×÷

c/C++Îļþ²Ù×÷
Èí¼þ¿ª·¢   2009-03-12 16:22   ÔĶÁ18   ÆÀÂÛ0  
×ֺţº ´ó´ó  ÖÐÖР СС
»ùÓÚCµÄÎļþ²Ù×÷ 
¡¡¡¡ÔÚANSI CÖУ¬¶ÔÎļþµÄ²Ù×÷·ÖΪÁ½ÖÖ·½Ê½£¬¼´Á÷ʽÎļþ²Ù×÷ºÍI/OÎļþ²Ù×÷£¬ÏÂÃæ¾Í·Ö±ð½éÉÜÖ®¡£
Ò»¡¢Á÷ʽÎļþ²Ù×÷
¡¡¡¡ÕâÖÖ·½Ê½µÄÎļþ²Ù×÷ÓÐÒ»¸öÖØÒªµÄ½á¹¹FILE£¬FILEÔÚstdio.hÖж¨ÒåÈçÏ£º
typedef struct {
int level; /* fill/empty level of buffer */
unsigned flags; /* File status flags */
char fd; /* File descriptor */
unsigned char hold; /* Ungetc char if no buffer */
int bsize; /* Buffer size */
unsigned char _FAR *buffer; /* Data transfer buffer */
unsigned char _FAR *curp; /* Current active pointer */
unsigned istemp; /* Temporary file indicator */
short token; /* Used for validity checking */
} FILE; /* This is the FILE object */
¡¡¡¡FILEÕâ¸ö½á¹¹°üº¬ÁËÎļþ²Ù×÷µÄ»ù±¾ÊôÐÔ£¬¶ÔÎļþµÄ²Ù×÷¶¼ÒªÍ¨¹ýÕâ¸ö½á¹¹µÄÖ¸ÕëÀ´½øÐУ¬´ËÖÖÎļþ²Ù×÷³£Óõĺ¯Êý¼ûÏÂ±í º¯Êý ¹¦ÄÜ 
fopen() ´ò¿ªÁ÷ 
fclose() ¹Ø±ÕÁ÷ 
fputc() дһ¸ö×Ö· ......

C/C++Îļþ²Ù×÷

c/C++Îļþ²Ù×÷
Èí¼þ¿ª·¢   2009-03-12 16:22   ÔĶÁ18   ÆÀÂÛ0  
×ֺţº ´ó´ó  ÖÐÖР СС
»ùÓÚCµÄÎļþ²Ù×÷ 
¡¡¡¡ÔÚANSI CÖУ¬¶ÔÎļþµÄ²Ù×÷·ÖΪÁ½ÖÖ·½Ê½£¬¼´Á÷ʽÎļþ²Ù×÷ºÍI/OÎļþ²Ù×÷£¬ÏÂÃæ¾Í·Ö±ð½éÉÜÖ®¡£
Ò»¡¢Á÷ʽÎļþ²Ù×÷
¡¡¡¡ÕâÖÖ·½Ê½µÄÎļþ²Ù×÷ÓÐÒ»¸öÖØÒªµÄ½á¹¹FILE£¬FILEÔÚstdio.hÖж¨ÒåÈçÏ£º
typedef struct {
int level; /* fill/empty level of buffer */
unsigned flags; /* File status flags */
char fd; /* File descriptor */
unsigned char hold; /* Ungetc char if no buffer */
int bsize; /* Buffer size */
unsigned char _FAR *buffer; /* Data transfer buffer */
unsigned char _FAR *curp; /* Current active pointer */
unsigned istemp; /* Temporary file indicator */
short token; /* Used for validity checking */
} FILE; /* This is the FILE object */
¡¡¡¡FILEÕâ¸ö½á¹¹°üº¬ÁËÎļþ²Ù×÷µÄ»ù±¾ÊôÐÔ£¬¶ÔÎļþµÄ²Ù×÷¶¼ÒªÍ¨¹ýÕâ¸ö½á¹¹µÄÖ¸ÕëÀ´½øÐУ¬´ËÖÖÎļþ²Ù×÷³£Óõĺ¯Êý¼ûÏÂ±í º¯Êý ¹¦ÄÜ 
fopen() ´ò¿ªÁ÷ 
fclose() ¹Ø±ÕÁ÷ 
fputc() дһ¸ö×Ö· ......
×ܼǼÊý:2015; ×ÜÒ³Êý:336; ÿҳ6 Ìõ; Ê×Ò³ ÉÏÒ»Ò³ [146] [147] [148] [149] 150 [151] [152] [153] [154] [155]  ÏÂÒ»Ò³ βҳ
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ