亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

iOS階段學習第九天筆記(內存管理)

2019-11-14 18:46:48
字體:
來源:轉載
供稿:網友

iOS學習(C語言)知識點整理

一、內存管理

1)malloc , 用于申請內存; 結構void *malloc(size_t),需要引用頭文件<stdlib.h>;在堆里面申請內存,size_t,表示申請空間的大小,單位是字節;如果申請成功,返回這段內存的首地址,申請失敗,返回NULL;申請的內存空間需要手動初始化。

注意點:

           1、可能會申請失敗,所以需要判斷返回是否是NULL。

           2、申請的內存需要強制轉換為指定的數據類型,例如:(int*)malloc(10*sizeof(int))

           3、分配的內存是未初始化的,需要先清理后使用。

           4、使用完畢需要手動釋放,如果沒有釋放會導致內存泄漏。

           5、什么時候用:>500字節(具體大小視公司情況而定),須要手動申請。

           6、釋放之后的內存不可以再使用,如要使用需要再次申請。

           7、如果同時申請兩塊內存,第一次申請成功,第二次申請失敗,一定要記得釋放掉第一次成功申請的內存。

實例代碼:

 1 #define LEN 10 2 int main(int argc, const char * argv[]) { 3     int *p = NULL; 4     //申請一段空間,放10個int 5     p = (int*)malloc(10*sizeof(int)); 6     if(p==NULL){ 7         PRintf("malloc failed/n"); 8         return 0;//返回,不能進行下面的操作 9     }10     printf("before clear:");11     for(int i=0;i<LEN;i++){12         printf("%d, ",*(p+i));13     }14     printf("/n after clear:");15     memset(p,0x0,10*sizeof(int));//內存清016     for(int i=0;i<LEN;i++){17         printf("%d=0x%x, ",*(p+i),*(p+i));18   }19   /*數據處理*/20     free(p);//手動釋放21     p = NULL;//增強了保險,使p不可以用22     return 0;23 }

2)memset, 用于初始化內存空間, 結構 void *memset(void *, int, size_t);需要引用頭文件<string.h>

 參數1:表示內存的首地址

 參數2:內存設置成多少[0,0xff]

 參數3:設置多少字節

3)free 用于釋放申請的內存,例如:free(p)。

4)calloc 用于申請內存; 不需要手動初始化,申請的內存空間可直接使用。

實例代碼:

 1  int main() 2 { 3     int *p; 4     p = (int*)calloc(10, sizeof(int)); 5     if(p==NULL){ 6         printf("calloc failed/n"); 7         return 0; 8     }10     for(int i=0;i<10;i++){11         printf("%d ",*(p+i));12     }13     free(p);14     return 0;15 }

5)realloc ,  重新調整/申請內存;結構void* realloc(void* ptr, unsigned newsize);可以擴大或者縮小??赡軋绦惺U大時,

    可能分配不到,需要到新的地址申請,那么數據被拷貝到新的位置,原來的內存將被free掉,realloc返回新內存的地址

    例如:realloc(NULL, 200) 等價于 malloc(200); 表示新申請一個大小為200的內存;

             realloc(ptr,0)等價于 free(ptr);表示釋放內存

實例代碼:

 1 int main() 2 { 3     int *p; 4     p = (int*)malloc(10*4); 5     if(p == NULL)   6         return 0; 7     printf("fisrt alloc p=%p/n",p); 8     *p = 100; 9     //清零。。使用10     //擴大的內存比較大的時候,p可能會變11     p = (int*)realloc(p, 500);12     if(p == NULL) 13         return 0;14     printf("second alloc p=%p/n",p);15     printf("first int is %d/n",*p);16     free(p);17     return 0;18 }

6)memchr 用于在規定的內存范圍中查找指定的字符,void *memchr(const void *src, int c, size_t size);

     從s指針指向的內存中查找 c , 找到了返回c在s中的地址,否則返回NULL

 實例代碼:

 1 int main() 2 { 3     char str[100] = "hello world"; 4     char ch = 'r'; 5     char *p; 6     p = (char*)memchr(str, ch, 3);//查找范圍為前3個字節 7     if(p == NULL)  8         printf("can not find the char./n"); 9      else 10         printf("%s/n",p);11     return 0;12 }

7)memcpy 用于內存拷貝;void *memcpy(void *dst, const void *src, size_t size);

     1、需要保證dst指向的內存空間足夠容納size個字節

     2、dst src指向的內存空間不能有重疊部分

實例代碼:

1 int main()2 {3     char str[100] = "hello world";4     char str2[20] = "zhongguo";5     memcpy(str+strlen(str), str2, strlen(str2)+1);//+1 多拷貝一個結束符6     printf("%s/n",str);7 }

8)memmove 用于內存移動;void *memmove(void *dst, const void *src, size_t len);dst src指向的空間可以重疊

 實例代碼:

1 int main()2 {3     char str[100]="1234567890";4 //    char *p = "hello";//p指向字符串常量的首地址5 //    memmove(str, p, 5);//相當于memcpy6     memmove(str, str+2, 5);7     printf("%s",str);//34567]678908     return 0;9 }

9)memcmp 用于比較字符串大小int memcmp(const void *s1, const void *s2, size_t n);s1==s2  返回0;s1< s2,返回<0 ;

       s1>s2,返回>0;返回的值=第一個不相等的字符ascii碼差值。

 實例代碼:

 1 int main() 2 { 3     char *p1 = "hello world"; 4     char *p2 = "helLo"; 5     int rst = memcmp(p1, p2, 6); 6     if(rst == 0) 7             printf("firt 6 chars equal/n"); 8     else 9         printf("not equal,%d/n",rst);10     return 0;11 }

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
最近2019中文字幕第三页视频| 日韩中文字幕在线视频播放| www.日韩av.com| 按摩亚洲人久久| 欧美成人小视频| 欧洲成人在线观看| 中文字幕欧美日韩va免费视频| 欧美性视频在线| 国产亚洲精品91在线| 岛国av一区二区在线在线观看| 欧美性极品xxxx做受| 国产美女精品视频免费观看| 久久影视三级福利片| 色噜噜狠狠狠综合曰曰曰88av| 色综合男人天堂| 少妇激情综合网| 国产精品久久久久久av| 欧美亚洲视频在线看网址| 国产欧美日韩丝袜精品一区| 综合136福利视频在线| 欧美性xxxx极品hd满灌| 国产婷婷色综合av蜜臀av| 成人h片在线播放免费网站| 亚洲女人初尝黑人巨大| 亚州av一区二区| 欧美极品xxxx| 精品久久久久久电影| 亚洲成人黄色在线观看| 色综合天天综合网国产成人网| 九九精品在线观看| 国产精品激情自拍| 在线观看国产精品91| 国产热re99久久6国产精品| 亚洲日韩第一页| 欧美极度另类性三渗透| 欧美日韩成人在线观看| 自拍偷拍免费精品| 国内精品久久久久伊人av| 国内精品久久影院| 欧美亚洲成人精品| 中文字幕日韩欧美精品在线观看| 久久久久久久久国产| 97精品伊人久久久大香线蕉| 日本午夜精品理论片a级appf发布| 麻豆一区二区在线观看| 欧美一级电影在线| 亚洲大尺度美女在线| 亚洲国产欧美在线成人app| 国产福利精品av综合导导航| 日韩电视剧在线观看免费网站| 精品福利樱桃av导航| 92看片淫黄大片看国产片| 中文字幕在线国产精品| 国产在线观看精品一区二区三区| 最近2019年手机中文字幕| 亚洲精品免费一区二区三区| 韩国福利视频一区| 久久精品福利视频| 亚洲精品电影网| 爽爽爽爽爽爽爽成人免费观看| 亚洲女人初尝黑人巨大| 久久久人成影片一区二区三区观看| 日韩中文综合网| 久久视频在线观看免费| 亚洲美女黄色片| 欧美色xxxx| 欧美高清理论片| 亚洲一级一级97网| 亚洲国产成人精品久久久国产成人一区| 欧美裸体男粗大视频在线观看| 国产日韩av在线播放| 中文字幕在线视频日韩| 亚洲一区二区三区在线免费观看| 色综合久久悠悠| 亚洲综合日韩中文字幕v在线| 美女扒开尿口让男人操亚洲视频网站| 日韩高清有码在线| 成人综合网网址| 亚洲精品国产综合区久久久久久久| 精品偷拍各种wc美女嘘嘘| 亚洲欧美三级在线| 欧美大肥婆大肥bbbbb| 国产精品高潮呻吟久久av无限| 精品久久久香蕉免费精品视频| 国产精品91久久| 羞羞色国产精品| 国内伊人久久久久久网站视频| 色偷偷av亚洲男人的天堂| 亚洲qvod图片区电影| 欧美性视频在线| 永久555www成人免费| 日韩精品在线免费观看视频| 国产精品一区二区久久| 岛国视频午夜一区免费在线观看| 欧美在线精品免播放器视频| 欧美体内谢she精2性欧美| 91精品国产综合久久香蕉| 91免费看片在线| 国内免费精品永久在线视频| 亚洲视频一区二区| 日韩av在线播放资源| 一区二区中文字幕| 伊人一区二区三区久久精品| 91成人天堂久久成人| 美女999久久久精品视频| 成人激情视频在线播放| 91精品国产综合久久香蕉的用户体验| 欧美激情视频在线观看| 亚洲欧美日韩视频一区| 57pao成人国产永久免费| 午夜精品在线视频| 最新国产成人av网站网址麻豆| 国产精品毛片a∨一区二区三区|国| 亚洲国产精品va| 日韩高清电影好看的电视剧电影| 伊人激情综合网| 搡老女人一区二区三区视频tv| 久久精品国产亚洲一区二区| 亚洲精品视频免费| 国产精品免费在线免费| 久久久久久九九九| 在线不卡国产精品| 人九九综合九九宗合| 97av视频在线| 成人免费在线视频网址| 国产亚洲精品综合一区91| 久久久久国产精品一区| 日本亚洲欧洲色| 亚洲精品自产拍| 78m国产成人精品视频| 黑人巨大精品欧美一区二区免费| 成人免费高清完整版在线观看| 在线观看国产欧美| 97国产一区二区精品久久呦| 色综合色综合网色综合| 国产精品爱啪在线线免费观看| 国产精品男女猛烈高潮激情| 亚洲精品久久久久中文字幕欢迎你| 欧美性猛交99久久久久99按摩| 中文字幕日韩欧美在线视频| 91九色国产在线| 亚洲国产精彩中文乱码av| 亚洲一区二区三区777| 国产精品1区2区在线观看| 欧美在线视频观看免费网站| 欧日韩不卡在线视频| 欧美激情第6页| 69久久夜色精品国产7777| 91高清视频在线免费观看| 亚洲欧美日韩中文在线| 456亚洲影院| 日韩精品视频中文在线观看| 在线观看日韩av| 成人啪啪免费看| 亚洲韩国欧洲国产日产av| 欧美激情视频网址| 国产网站欧美日韩免费精品在线观看| 欧美怡红院视频一区二区三区| 91大神福利视频在线| 中文字幕日韩在线播放| xvideos成人免费中文版| 亚洲电影中文字幕| 国产精品女主播视频| 国产亚洲免费的视频看|