本篇文章為大家展示了C語言中怎么利用malloc函數(shù)實現(xiàn)二維動態(tài)數(shù)組,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
目前創(chuàng)新互聯(lián)已為上1000+的企業(yè)提供了網(wǎng)站建設、域名、虛擬主機、網(wǎng)站托管維護、企業(yè)網(wǎng)站設計、北京網(wǎng)站維護等服務,公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
詳解C語言用malloc函數(shù)申請二維動態(tài)數(shù)組的實例
Sample one
#includeint main() { char * p=(char *)malloc(sizeof(char)*5);//申請包含5個字符型的數(shù)組 free(p); return 0; }
是否申請二維動態(tài)內(nèi)存也如此簡單呢?答案是否定的。申請二維數(shù)組有一下幾種方法
Sample two
/* 申請一個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)點是行和列都是可變的,但釋放時必須釋放多次,先釋放p[n],在釋放p
/*釋放內(nèi)存*/ for(i=0;i<5;i++) free(p[i]); free(p);
Sample three
/*用指向數(shù)組的指針的方式申請內(nèi)存*/ char (*p)[3]=(char(*)[3])malloc(sizeof(char)*5*3)//p是一個指向包含3個元素的數(shù)組的指針
這種方式分配的內(nèi)存只須釋放一次
free(p);
上述內(nèi)容就是C語言中怎么利用malloc函數(shù)實現(xiàn)二維動態(tài)數(shù)組,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。