91久久久久久久久_欧美日韩中文_在线观看中文字幕亚洲_夜夜骑首页_精品久久伊人_天天色天天射天天操

當前位置: 首頁IT技術 → 不限長度動態分配內存(malloc、calloc和realloc) 讓內存使用率提高

不限長度動態分配內存(malloc、calloc和realloc) 讓內存使用率提高

更多

(1)、malloc在分配內存之后不會對分配的內存進行初始化

(2)、calloc在分配內存之后,在返回指向已分配的內存的指針之前會對內存進行初始化

(3)、realloc用于修改一個原先已分配的內存塊大小,如果原先的內存塊大小無法改變,該函數將分配一塊正確大小的內存,并把原先那塊內存的內容復制到新分配的內存塊上。所以在使用該函數后,就不能再使用指向舊內存塊的指針。該函數不對新內存初始化。

(4)、在一塊內存不使用時使用free函數將內存釋放。

下面的程序是動態分配內存:

/** * 將字符串復制到動態分配的內存中,不限值字符串的長度 * @file string_alloc.c * @brief * @author struggleLinux@gmail.com * @version 1.0 * @date 2011-05-19 */ #include #include #include #define False 0 /** * 獲取字符并動態分配內存空間 * @brief alloc_string * * @return */ char * alloc_string( ) { char *string; int i , flag; string = (char *)malloc(1); //為分配一個字符長度 if( string == NULL ) return NULL; for( i = 0 ; (*(string+i) = getchar()) != EOF ;i++ ){ if(*(string+i) == 'Q' ){ //Q退出循環 *(string+i) = '\0'; break; } string = (char * )realloc( string,strlen(string)+1); //為string重新分配長度 if( string == NULL ){ break; } } return string; } int main() { char *str; str = alloc_string(); if( str == NULL ) printf("ERRORS:動態分配錯誤"); else printf("字符串為:\n%s\n",str); return 0; }

熱門評論
最新評論
昵稱:
表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
字數: 0/500 (您的評論需要經過審核才能顯示)
主站蜘蛛池模板: 欧美日韩一 | 亚洲精品视频免费在线观看 | 免费观看毛片 | 22精品一区二区三区 | 国产一二区 | 国产视频一区二 | 日韩免费在线 | 婷婷久| 久久精品国产免费 | 日韩精品一区在线观看 | 在线观看的av网站 | 97久久久| 国产永久在线 | 亚洲国产精品自拍 | 香蕉在线观看视频 | 免费观看一区二区三区 | 色av综合| 超碰免费在线播放 | 亚洲福利视频一区 | 欧洲精品一区二区 | 国内精品偷拍 | 成人自拍网 | 亚洲一区二区在线视频 | 日韩欧美亚洲 | 久久精品国产一区 | 精品毛片一区二区三区 | 国产精品网站在线观看 | 国产九九热 | 日韩精品免费在线观看 | 午夜免费av| 97久久精品人人澡人人爽 | 久久久久一 | 99精品欧美一区二区蜜桃免费 | 国产乱码一区二区三区 | 欧美视频a | 国产成人av一区二区三区在线观看 | 成年人免费在线观看 | 国产精品手机在线 | 久久久久久一区二区 | 特级黄色片 | 成人三级视频在线观看 |