1 回答

TA貢獻(xiàn)883條經(jīng)驗(yàn) 獲得超454個(gè)贊
你所謂的“動(dòng)態(tài)”,應(yīng)該是指new出來(lái)的吧?
C語(yǔ)言中所謂動(dòng)態(tài),就是用new申請(qǐng)一塊內(nèi)存,然后依需要來(lái)使用之。而“初值”指的是對(duì)象在定義的同時(shí)賦予的值。
所以嚴(yán)格地說(shuō),new出來(lái)的東西是沒(méi)有“初值”的(當(dāng)然申請(qǐng)到的內(nèi)存中會(huì)帶有隨機(jī)值,但你并不能在申請(qǐng)內(nèi)存的同時(shí)指定“初值”)。
那么拋開(kāi)“初值”這個(gè)概念不談,其實(shí)你得到new出來(lái)的內(nèi)存后,只要向其中賦你需要的值就好了——對(duì)于你說(shuō)的數(shù)組,就給每個(gè)元素賦值即可。
另外說(shuō)一個(gè)實(shí)踐中常用的方法:就像前面提到的,new出來(lái)的內(nèi)存中的值是不確定的。而你申請(qǐng)了一個(gè)數(shù)組,也許希望這是個(gè)“全新”的數(shù)組(所有元素的值都為0)。但一開(kāi)始就要把所有元素都賦值為0很麻煩,所以可以這樣做:你知道你申請(qǐng)的這一塊內(nèi)存有多大,那么直接使用庫(kù)中的 memset 函數(shù)(在<string.h>頭文件中)把這段內(nèi)存填0,這樣數(shù)組中的全部元素也就都是0了。
當(dāng)然如果你這個(gè)數(shù)組中元素不是簡(jiǎn)單類(lèi)型、需要各個(gè)元素都有獨(dú)特的“初值”的話(huà),那你只能一個(gè)個(gè)元素地賦值。
- 1 回答
- 0 關(guān)注
- 2163 瀏覽
添加回答
舉報(bào)