waterye

          calloc(), malloc(), realloc(), free()

          void *calloc(size_t nobj, size_t size);
          分配足夠的內存給nobj個大小為size的對象組成的數組, 并返回指向所分配區域的第一個字節的指針;
          若內存不夠,則返回NULL. 該空間的初始化大小為0字節.
          char *= (char *) calloc(100sizeof(char));

          void *malloc(size_t size);
          分配足夠的內存給大小為size的對象, 并返回指向所分配區域的第一個字節的指針;
          若內存不夠,則返回NULL. 不對分配的空間進行初始化.
          char *= (char *) malloc(sizeof(char));

          void *realloc(void *p, size_t size);
          將p所指向的對象的大小改為size個字節.
          如果新分配的內存比原內存大, 那么原內存的內容保持不變, 增加的空間不進行初始化.
          如果新分配的內存比原內存小, 那么新內存保持原內存的內容, 增加的空間不進行初始化.
          返回指向新分配空間的指針; 若內存不夠,則返回NULL, 原p指向的內存區不變.
          char *= (char *) malloc(sizeof(char));
          p
          = (char *) realloc(p, 256);

          void free(void *p);
          釋放p所指向的內存空間; 當p為NULL時, 不起作用.
          p必先調用calloc, malloc或realloc.
          free(p);

          posted on 2005-11-11 17:01 waterye 閱讀(9292) 評論(6)  編輯  收藏

          Feedback

          # re: calloc(), malloc(), realloc(), free() 2006-05-05 12:56 xie

          謝謝啊!  回復  更多評論   

          # re: calloc(), malloc(), realloc(), free() 2006-10-19 13:55 過額

          p= (char *) realloc(p, 256);
          返回指向新分配空間的指針; 若內存不夠,則返回NULL, 原p指向的內存區不變.
          要是對內存空間不夠,原p指向的空間因為p=NULL后而丟失,
          危險的內存泄露  回復  更多評論   

          # re: calloc(), malloc(), realloc(), free() 2006-10-28 10:47 abc

          防止內存泄露:

          char *p,*q;
          p = (char *) malloc(sizeof(char));
          q= (char *) realloc(p, 256);
          if (q==NULL)
          return -1;
          p=q;
            回復  更多評論   

          # re: calloc(), malloc(), realloc(), free() 2006-10-28 20:02 JIN JIN

          Thanks, it explains...  回復  更多評論   

          # re: calloc(), malloc(), realloc(), free() 2006-11-25 08:03 sissi

          Thanks.  回復  更多評論   

          # re: calloc(), malloc(), realloc(), free() 2007-04-21 15:05 tan

          謝謝各位
            回復  更多評論   


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 嘉祥县| 吉木萨尔县| 托里县| 玉环县| 香港| 天津市| 建水县| 理塘县| 钟山县| 宜兴市| 鹤峰县| 山阳县| 吴忠市| 奉贤区| 宜章县| 江口县| 临高县| 永仁县| 资阳市| 阳山县| 玛纳斯县| 灌云县| 久治县| 安顺市| 和龙市| 德格县| 都昌县| 西宁市| 澄江县| 齐河县| 手机| 江永县| 永登县| 玉环县| 乌苏市| 遂川县| 沁阳市| 始兴县| 阿瓦提县| 科尔| 冀州市|