嵌入式C語(yǔ)言編程時(shí),變量、數(shù)組、指針初始化的多種操作
時(shí)間:2021-10-25 14:49:15
手機(jī)看文章
掃描二維碼
隨時(shí)隨地手機(jī)看文章
[導(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)容
數(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(