日韩精品中文字幕一区二区-日韩精品中文字幕一区-日韩精品中文字幕视频-日韩精品在线一区二区三区-第一页在线-第一福利视频

當前位置:首頁文章首頁 IT學院 IT技術

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

作者:  來源:  發布時間:2011-5-20 9:33:13  點擊:

(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; }

相關軟件

文章評論

軟件按字母排列: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
主站蜘蛛池模板: 国产在线 观看| 黄网站免费观看| 房事性生活| 性在线观看| 王艺嘉| 小淘气尼古拉| 爱情最美丽 电视剧| sarah brightman| 最新好看电影| 赫伯曼电影免费观看| 福田麻由子| 夏天在哪儿仿写句子一年级| leslie| 减肥喝什么榨汁减肥快| 辛巴德| 1988田螺姑娘| 女生衣服| 12星座最佳夫妻配对| 哈林教父| 姐妹大结局45集剧情介绍| 欧美吻戏视频| 宠物宝贝环游记| 《灿烂的季节》大结局| abo血型鉴定实验报告| 寡妇激情| 来5566最新av在线电影| 182tv在线视频| 何时了却这牵挂原唱| 天使的性| 第一财经今日股市直播间在线直播 | 林赛斯特林| 求职者| 精神空虚,贪图享乐的整改措施| 性感美女喷水| 我这一辈子电影| 孕妇电视剧| 看黄在线看| 林莉娴| 服务群众方面整改成效| 猎奇头像| 张国强个人简历|