a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 編程 > C > 正文

詳解C語言中free()函數與getpagesize()函數的使用

2020-01-26 14:57:04
字體:
來源:轉載
供稿:網友

C語言free()函數:釋放動態分配的內存空間
頭文件:

#include <stdlib.h>

free() 函數用來釋放動態分配的內存空間,其原型為:

 void free (void* ptr);

free() 可以釋放由 malloc()、calloc()、realloc() 分配的內存空間,以便其他程序再次使用。

【參數說明】ptr 為將要釋放的內存空間的地址。

free() 只能釋放動態分配的內存空間,并不能釋放任意的內存。下面的寫法是錯誤的:

int a[10];// ...free(a);

如果 ptr 所指向的內存空間不是由上面的三個函數所分配的,或者已被釋放,那么調用 free() 會有無法預知的情況發生。

如果 ptr 為 NULL,那么 free() 不會有任何作用。

注意:free() 不會改變 ptr 變量本身的值,調用 free() 后它仍然會指向相同的內存空間,但是此時該內存已無效,不能被使用。所以建議將 ptr 的值設置為 NULL,例如:

free(ptr);ptr = NULL;

代碼示例:

#include <stdlib.h>int main (){ int * buffer1, * buffer2, * buffer3; buffer1 = (int*) malloc (100*sizeof(int)); buffer2 = (int*) calloc (100,sizeof(int)); buffer3 = (int*) realloc (buffer2,500*sizeof(int)); free (buffer1); free (buffer3); system("pause"); return 0;}

C語言getpagesize()函數:取得內存分頁大小
頭文件:

#include <unistd.h>

定義函數:

size_t getpagesize(void);

函數說明:返回一分頁的大小,單位為字節(byte)。此為系統的分頁大小,不一定會和硬件分頁大小相同。

返回值:內存分頁大小。

附加說明:在 Intel x86 上其返回值應為4096bytes。

范例

#include <unistd.h>main(){ printf("page size = %d/n", getpagesize());}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 国产精品日韩在线 | 日韩高清二区 | 一区二区三区四区在线 | 天天操天天摸天天干 | 国产欧美精品区一区二区三区 | 在线欧美色 | 国产女人高潮视频在线观看 | 久久久天堂 | 一级片在线免费看 | 国产高清视频一区二区 | 日韩精品无码一区二区三区 | 福利片免费观看 | 国产美女高潮一区二区三区 | 日日爱夜夜爱 | 一级片免费在线观看 | 欧美日韩国产免费一区二区三区 | 国产一级在线观看 | 欧美日产在线观看 | 精品久久久精品 | 国产免费一区 | 精品一区二区6 | 成人亚洲视频 | 羞羞的视频在线观看 | 欧美九九 | 日韩专区在线 | 国产精品中文字幕在线播放 | 亚洲一区在线视频 | 久在线 | 久久国产精品免费一区二区三区 | 九九热精品免费视频 | 97色资源| 少妇偷人精品视频 | 欧美久久久久久久久中文字幕 | 美女视频黄色 | 亚洲综合成人网 | 欧美日韩不卡合集视频 | 中文字幕在线欧美 | 亚洲一区二区三区免费视频 | 久久久久久免费视频 | 一区二区日韩 | 黄色综合网 |