最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

c語(yǔ)言malloc函數(shù)的用法示例和意義

 更新時(shí)間:2022年12月07日 09:07:53   作者:青布衫白少年  
mallo函數(shù)返回的實(shí)際是一個(gè)無(wú)類型指針,必須在其前面加上指針類型強(qiáng)制轉(zhuǎn)換才可以使用,這篇文章主要介紹了c語(yǔ)言malloc函數(shù)的用法示例和意義,需要的朋友可以參考下

當(dāng)我們需要做一個(gè)成績(jī)管理系統(tǒng),人數(shù)可能為全校學(xué)生,也可能為一個(gè)班的學(xué)生,當(dāng)我們開(kāi)辟一個(gè)班的數(shù)組大小時(shí),如果要存儲(chǔ)整個(gè)學(xué)校的人數(shù)時(shí),會(huì)出現(xiàn)內(nèi)存不夠用的情況;當(dāng)我們開(kāi)辟全校人數(shù)大小的數(shù)組時(shí),輸入一個(gè)班人數(shù)的大小時(shí),會(huì)出現(xiàn)內(nèi)存浪費(fèi)的情況。
為了應(yīng)對(duì)上述問(wèn)題,我們引入malloc函數(shù)。
malloc時(shí)動(dòng)態(tài)內(nèi)存分配函數(shù),用于申請(qǐng)一塊連續(xù)的指定大小的內(nèi)存塊區(qū)域以void*類型返回分配的內(nèi)存區(qū)域地址

malloc函數(shù)原型

extern void *malloc(unsigned int num_bytes);

意為分配長(zhǎng)度為num_bytes字節(jié)的內(nèi)存塊

malloc函數(shù)頭文件

#include<malloc.h>

malloc函數(shù)返回值

如果分配成功則返回指向被分配內(nèi)存的指針,否則返回空指針NULL。

malloc函數(shù)使用注意事項(xiàng)

malloc函數(shù)的返回的是無(wú)類型指針,在使用時(shí)一定要強(qiáng)制轉(zhuǎn)換為所需要的類型。
**(敲黑板)重點(diǎn):在使用malloc開(kāi)辟空間時(shí),使用完成一定要釋放空間,如果不釋放會(huì)造內(nèi)存泄漏。
在使用malloc函數(shù)開(kāi)辟的空間中,不要進(jìn)行指針的移動(dòng),因?yàn)橐坏┮苿?dòng)之后可能出現(xiàn)申請(qǐng)的空間和釋放空間大小的不匹配

malloc函數(shù)使用形式

關(guān)于malloc所開(kāi)辟空間類型:malloc只開(kāi)辟空間,不進(jìn)行類型檢查,只是在使用的時(shí)候進(jìn)行類型的強(qiáng)轉(zhuǎn)。
舉個(gè)例子:‘我’開(kāi)辟你所需要大小的字節(jié)大小空間,至于怎么使用是你的事
mallo函數(shù)返回的實(shí)際是一個(gè)無(wú)類型指針,必須在其前面加上指針類型強(qiáng)制轉(zhuǎn)換才可以使用
指針自身 = (指針類型*)malloc(sizeof(指針類型)*數(shù)據(jù)數(shù)量)

	int *p = NULL;
	int n = 10;
	p = (int *)malloc(sizeof(int)*n);

在使用malloc函數(shù)之前我們一定要計(jì)算字節(jié)數(shù),malloc開(kāi)辟的是用戶所需求的字節(jié)數(shù)大小的空間。
如果多次申請(qǐng)空間那么系統(tǒng)是如何做到空間的不重復(fù)使用呢?
在使用malloc開(kāi)辟一段空間之后,系統(tǒng)會(huì)在這段空間之前做一個(gè)標(biāo)記(0或1),當(dāng)malloc函數(shù)開(kāi)辟空間如果遇到標(biāo)記為0就在此開(kāi)辟,如果為1說(shuō)明此空間正在被使用。

free函數(shù)

作用:釋放malloc(或calloc、realloc)函數(shù)給指針變量分配的內(nèi)存空間。
注意:使用后該指針變量一定要重新指向NULL,防止懸空指針(失效指針)出現(xiàn),有效規(guī)避錯(cuò)誤操作。

int main()
{
	int *p = (int *)malloc(sizeof(int));
	*p = 100;
	free(p);
	p = NULL;
	return 0;

free函數(shù)在釋放空間之后,把內(nèi)存前的標(biāo)志變?yōu)?,且為了防止數(shù)據(jù)泄露,它會(huì)把所釋放的空間用cd進(jìn)行填充。

到此這篇關(guān)于c語(yǔ)言malloc函數(shù)的用法示例和意義的文章就介紹到這了,更多相關(guān)c語(yǔ)言malloc函數(shù)用法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C++?Socket實(shí)現(xiàn)TCP與UDP網(wǎng)絡(luò)編程

    C++?Socket實(shí)現(xiàn)TCP與UDP網(wǎng)絡(luò)編程

    本文主要介紹了C++?Socket實(shí)現(xiàn)TCP與UDP網(wǎng)絡(luò)編程,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • C語(yǔ)言實(shí)現(xiàn)自動(dòng)分配地址的示例

    C語(yǔ)言實(shí)現(xiàn)自動(dòng)分配地址的示例

    本文介紹了兩種自動(dòng)分配地址的方法,包括通過(guò)宏定義實(shí)現(xiàn)地址分配和將EE地址作為一個(gè)結(jié)構(gòu)體,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-11-11
  • C++實(shí)現(xiàn)簡(jiǎn)易圖書館管理系統(tǒng)

    C++實(shí)現(xiàn)簡(jiǎn)易圖書館管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)簡(jiǎn)易圖書館管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • 解析如何利用switch語(yǔ)句進(jìn)行字符統(tǒng)計(jì)

    解析如何利用switch語(yǔ)句進(jìn)行字符統(tǒng)計(jì)

    本篇文章是對(duì)如何利用switch語(yǔ)句進(jìn)行字符統(tǒng)計(jì)的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • OpenCV?直方圖均衡化的實(shí)現(xiàn)原理解析

    OpenCV?直方圖均衡化的實(shí)現(xiàn)原理解析

    直方圖均衡化是通過(guò)拉伸像素強(qiáng)度分布范圍來(lái)增強(qiáng)圖像對(duì)比度的一種方法,今天通過(guò)本文給大家介紹OpenCV?直方圖均衡化的實(shí)現(xiàn)原理解析,感興趣的朋友跟隨小編一起看看吧
    2022-01-01
  • C++無(wú)鎖數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)示例詳解

    C++無(wú)鎖數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)示例詳解

    這篇文章主要為大家介紹了C++無(wú)鎖數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-12-12
  • 淺談C語(yǔ)言中的指針和數(shù)組有什么區(qū)別

    淺談C語(yǔ)言中的指針和數(shù)組有什么區(qū)別

    C語(yǔ)言中的指針和數(shù)組是兩個(gè)重要的數(shù)據(jù)結(jié)構(gòu),它們?cè)趦?nèi)存管理和數(shù)據(jù)存儲(chǔ)方面有許多相似之處,但也存在一些關(guān)鍵的區(qū)別,本文就來(lái)介紹一下C語(yǔ)言中的指針和數(shù)組有什么區(qū)別,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-09-09
  • C++實(shí)現(xiàn)四則運(yùn)算器(帶括號(hào))

    C++實(shí)現(xiàn)四則運(yùn)算器(帶括號(hào))

    這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)四則運(yùn)算器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-11-11
  • 詳解C語(yǔ)言之操作符

    詳解C語(yǔ)言之操作符

    這篇文章主要以圖文結(jié)合的方式為大家詳細(xì)介紹了C語(yǔ)言的操作符知識(shí),感興趣的小伙伴們可以參考一下,希望能給你帶來(lái)幫助
    2021-11-11
  • C++ COM編程之QueryInterface函數(shù)(二)

    C++ COM編程之QueryInterface函數(shù)(二)

    這篇文章主要介紹了C++ COM編程之QueryInterface函數(shù)(二),本文是第二篇,第一篇請(qǐng)參閱相關(guān)文檔,需要的朋友可以參考下
    2014-10-10

最新評(píng)論

左贡县| 湘潭县| 吉林市| 峡江县| 广东省| 米易县| 曲阜市| 宁化县| 靖边县| 丹阳市| 兴隆县| 大冶市| 曲松县| 闽侯县| 敖汉旗| 泸溪县| 商洛市| 天津市| 双柏县| 盘锦市| 乐至县| 图片| 内黄县| 宁强县| 兴和县| 华容县| 昭苏县| 闻喜县| 高台县| 东丽区| 德江县| 丽江市| 鄂托克前旗| 于都县| 阳城县| 秦皇岛市| 绥芬河市| 吴桥县| 汉沽区| 双峰县| 雅安市|