當(dāng)前位置:首頁(yè) > 公眾號(hào)精選 > 技術(shù)讓夢(mèng)想更偉大
[導(dǎo)讀]關(guān)注、星標(biāo)公眾號(hào),直達(dá)精彩內(nèi)容來(lái)源:網(wǎng)絡(luò)素材,侵刪在敲代碼的時(shí)候,我們會(huì)給變量一個(gè)初始值,以防止因?yàn)榫幾g器的原因造成變量初始值的不確定性。對(duì)于數(shù)值類型的變量往往初始化為0,但對(duì)于其他類型的變量,如字符型、指針型等變量等該如何初始化呢?數(shù)值類變量初始化整型、浮點(diǎn)型的變量可以在定義的...

關(guān)注、星標(biāo)公眾號(hào),直達(dá)精彩內(nèi)容



來(lái)源:網(wǎng)絡(luò)素材,侵刪



在敲代碼的時(shí)候,我們會(huì)給變量一個(gè)初始值,以防止因?yàn)榫幾g器的原因造成變量初始值的不確定性。



對(duì)于數(shù)值類型的變量往往初始化為0,但對(duì)于其他類型的變量,如字符型、指針型等變量等該如何初始化呢?


數(shù)值類變量初始化

整型、浮點(diǎn)型的變量可以在定義的同時(shí)進(jìn)行初始化,一般都初始化為0。1int inum  = 0;
2float fnum = 0.00f;
3double dnum = 0.00;

字符型變量初始化

字符型變量也可在定義的同時(shí)進(jìn)行初始化,一般初始化為'\0'1char ch = '\0';

字符串初始化

字符串初始化的方法比較多,我這里簡(jiǎn)單介紹三種,因?yàn)樽址举|(zhì)上是由一個(gè)個(gè)字符組成的字符數(shù)組,所以其初始化的最終目的,就是將字符數(shù)組里面的一個(gè)個(gè)字符都初始化為'\0'。
方法一:使用空的字符串""。
char str[10] = "";
方法二:使用memset。
char str[10];
memset(str, 0, sizeof(str));
方法三:寫一個(gè)循環(huán)。
char str[10];
for(int i = 0; i < 10; i )
{
str[i] = '\0';
}
這里比較推薦的是第二種初始化方法。也即使用memset進(jìn)行初始化。
很多人對(duì)memset這個(gè)函數(shù)一知半解,只知道它可以初始化很多數(shù)據(jù)類型的變量,卻不知道其原理是什么樣的,這里做一下簡(jiǎn)要的說(shuō)明:memset是按照字節(jié)進(jìn)行填充的。
先看下面的一段代碼:
int num;
memset(
本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
關(guān)閉
關(guān)閉