詳解C語(yǔ)言用malloc函數(shù)申請(qǐng)二維動(dòng)態(tài)數(shù)組的實(shí)例
詳解C語(yǔ)言用malloc函數(shù)申請(qǐng)二維動(dòng)態(tài)數(shù)組的實(shí)例
C語(yǔ)言在程序運(yùn)行中動(dòng)態(tài)的申請(qǐng)及釋放內(nèi)存十分方便,一維數(shù)組的申請(qǐng)及釋放比較簡(jiǎn)單。
Sample one
#include <stdio.h>
int main()
{
char * p=(char *)malloc(sizeof(char)*5);//申請(qǐng)包含5個(gè)字符型的數(shù)組
free(p);
return 0;
}
是否申請(qǐng)二維動(dòng)態(tài)內(nèi)存也如此簡(jiǎn)單呢?答案是否定的。申請(qǐng)二維數(shù)組有一下幾種方法
Sample two
/* 申請(qǐng)一個(gè)5行3列的字符型數(shù)組*/ char **p=NULL;int i; p=(char ** )malloc(sizeof(char *)*5); for(i=0;i<5;i++) p[i]=malloc(sizeof(char)*3);
這種方式的優(yōu)點(diǎn)是行和列都是可變的,但釋放時(shí)必須釋放多次,先釋放p[n],在釋放p
/*釋放內(nèi)存*/ for(i=0;i<5;i++) free(p[i]); free(p);
Sample three
/*用指向數(shù)組的指針的方式申請(qǐng)內(nèi)存*/ char (*p)[3]=(char(*)[3])malloc(sizeof(char)*5*3)//p是一個(gè)指向包含3個(gè)元素的數(shù)組的指針
這種方式分配的內(nèi)存只須釋放一次
free(p);
這種方式的缺點(diǎn)是顯而易見(jiàn)的,列是不可變的!
如有疑問(wèn)請(qǐng)留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
相關(guā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
如何將編譯過(guò)的C++庫(kù)迅速部署在Visual?Studio新項(xiàng)目中
本文介紹在Visual?Studio中,通過(guò)屬性表,使得一個(gè)新建解決方案中的項(xiàng)目可以快速配置已有解決方案的項(xiàng)目中各類已編譯好的C++第三方庫(kù)的方法,感興趣的朋友跟隨小編一起看看吧2024-05-05
C 語(yǔ)言基礎(chǔ)教程(我的C之旅開(kāi)始了)[五]
C 語(yǔ)言基礎(chǔ)教程(我的C之旅開(kāi)始了)[五]...2007-02-02
c/c++獲取系統(tǒng)時(shí)間函數(shù)的方法示例
這篇文章主要介紹了c/c++獲取系統(tǒng)時(shí)間函數(shù)的方法示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-02-02
華為云開(kāi)發(fā)工具CodeArts IDE for C/C++開(kāi)發(fā)使用指南
CodeArts IDE是一個(gè)集成開(kāi)發(fā)環(huán)境(IDE),它提供了開(kāi)發(fā)語(yǔ)言和調(diào)試服務(wù),本文主要介紹了華為云開(kāi)發(fā)工具CodeArts IDE for C/C++ 開(kāi)發(fā)使用指南,感興趣的可以了解一下2023-08-08
C語(yǔ)言實(shí)現(xiàn)bmp圖像對(duì)比度擴(kuò)展
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)bmp圖像對(duì)比度擴(kuò)展,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-10-10
使用C語(yǔ)言實(shí)現(xiàn)交換整數(shù)的奇數(shù)位和偶數(shù)位
在C語(yǔ)言中,要交換一個(gè)整數(shù)的二進(jìn)制位中的奇數(shù)位和偶數(shù)位,重點(diǎn)需要理解位操作,當(dāng)我們談?wù)摱M(jìn)制位的奇數(shù)位和偶數(shù)位時(shí),我們是指從右到左數(shù)的位置,本文給大家介紹了使用C語(yǔ)言代碼實(shí)現(xiàn)將一個(gè)整數(shù)的奇數(shù)位和偶數(shù)位交換,需要的朋友可以參考下2025-03-03
如何調(diào)用C標(biāo)準(zhǔn)庫(kù)的exit函數(shù)詳解
這篇文章主要給大家介紹了關(guān)于如何調(diào)用C標(biāo)準(zhǔn)庫(kù)的exit函數(shù)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07

