欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2015年08月26日 16:46:55   投稿:goldensun  
這篇文章主要介紹了詳解C語(yǔ)言中free()函數(shù)與getpagesize()函數(shù)的使用,是C語(yǔ)言入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下

C語(yǔ)言free()函數(shù):釋放動(dòng)態(tài)分配的內(nèi)存空間
頭文件:

#include <stdlib.h>

free() 函數(shù)用來(lái)釋放動(dòng)態(tài)分配的內(nèi)存空間,其原型為:

 void free (void* ptr);

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

【參數(shù)說(shuō)明】ptr 為將要釋放的內(nèi)存空間的地址。

free() 只能釋放動(dòng)態(tài)分配的內(nèi)存空間,并不能釋放任意的內(nèi)存。下面的寫法是錯(cuò)誤的:

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

如果 ptr 所指向的內(nèi)存空間不是由上面的三個(gè)函數(shù)所分配的,或者已被釋放,那么調(diào)用 free() 會(huì)有無(wú)法預(yù)知的情況發(fā)生。

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

注意:free() 不會(huì)改變 ptr 變量本身的值,調(diào)用 free() 后它仍然會(huì)指向相同的內(nèi)存空間,但是此時(shí)該內(nèi)存已無(wú)效,不能被使用。所以建議將 ptr 的值設(shè)置為 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語(yǔ)言getpagesize()函數(shù):取得內(nèi)存分頁(yè)大小
頭文件:

#include <unistd.h>

定義函數(shù):

size_t getpagesize(void);

函數(shù)說(shuō)明:返回一分頁(yè)的大小,單位為字節(jié)(byte)。此為系統(tǒng)的分頁(yè)大小,不一定會(huì)和硬件分頁(yè)大小相同。

返回值:內(nèi)存分頁(yè)大小。

附加說(shuō)明:在 Intel x86 上其返回值應(yīng)為4096bytes。

范例

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

相關(guān)文章

  • 帶你用C語(yǔ)言實(shí)現(xiàn)strtok和字符串分割函數(shù)

    帶你用C語(yǔ)言實(shí)現(xiàn)strtok和字符串分割函數(shù)

    下面小編就為大家?guī)?lái)一篇c語(yǔ)言中字符串分割函數(shù)及實(shí)現(xiàn)方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2021-09-09
  • C語(yǔ)言金幣陣列問(wèn)題解決方法

    C語(yǔ)言金幣陣列問(wèn)題解決方法

    這篇文章主要介紹了C語(yǔ)言金幣陣列問(wèn)題解決方法,主要涉及數(shù)組的靈活運(yùn)算,是一類非常經(jīng)典的算法,需要的朋友可以參考下
    2014-09-09
  • C++圖形界面開發(fā)Qt教程:嵌套圓環(huán)示例

    C++圖形界面開發(fā)Qt教程:嵌套圓環(huán)示例

    這篇文章主要介紹了C++實(shí)現(xiàn)圖形界面開發(fā)Qt教程,涉及坐標(biāo)函數(shù)的應(yīng)用及圖形界面程序設(shè)計(jì),需要的朋友可以參考下,希望能給你帶來(lái)幫助
    2021-08-08
  • C語(yǔ)言程序中遞歸算法的使用實(shí)例教程

    C語(yǔ)言程序中遞歸算法的使用實(shí)例教程

    這篇文章主要介紹了C語(yǔ)言程序中遞歸算法的使用實(shí)例教程,遞歸經(jīng)常被用來(lái)進(jìn)行階乘和比較大小等計(jì)算工作,文中舉的都是一些基礎(chǔ)的例子,需要的朋友可以參考下
    2016-04-04
  • C++中auto關(guān)鍵字的使用

    C++中auto關(guān)鍵字的使用

    本文主要介紹了C++中auto關(guān)鍵字的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • C語(yǔ)言 實(shí)現(xiàn)N階乘的程序代碼

    C語(yǔ)言 實(shí)現(xiàn)N階乘的程序代碼

    本篇文章是對(duì)c語(yǔ)言中實(shí)現(xiàn)N階乘的程序代碼進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • C++示例講解friend static const關(guān)鍵字的用法

    C++示例講解friend static const關(guān)鍵字的用法

    靜態(tài)成員static是解決同一個(gè)類的不同對(duì)象之間數(shù)據(jù)和函數(shù)共享問(wèn)題。區(qū)分全局變量,全局變量也能實(shí)現(xiàn)數(shù)據(jù)共享,但安全性和封裝性被破壞了,友元提供了不同類或?qū)ο蟮某蓡T函數(shù)之間、類的成員函數(shù)與一般函數(shù)之間進(jìn)行數(shù)據(jù)共享的機(jī)制,const常引用-被引用的對(duì)象不能被更新
    2022-06-06
  • C++中關(guān)于std::queue?中遇到釋放內(nèi)存錯(cuò)誤的問(wèn)題

    C++中關(guān)于std::queue?中遇到釋放內(nèi)存錯(cuò)誤的問(wèn)題

    這篇文章主要介紹了std::queue中遇到釋放內(nèi)存錯(cuò)誤的問(wèn)題,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-07-07
  • C++ sleep()和usleep()的區(qū)別

    C++ sleep()和usleep()的區(qū)別

    本文主要介紹了C++ sleep()和usleep()的區(qū)別,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • VSCode插件開發(fā)全攻略之跳轉(zhuǎn)到定義、自動(dòng)補(bǔ)全、懸停提示功能

    VSCode插件開發(fā)全攻略之跳轉(zhuǎn)到定義、自動(dòng)補(bǔ)全、懸停提示功能

    這篇文章主要介紹了VSCode插件開發(fā)全攻略之跳轉(zhuǎn)到定義、自動(dòng)補(bǔ)全、懸停提示,需要的朋友可以參考下
    2020-05-05

最新評(píng)論