字符數(shù)組表示字符串有哪些注意事項(xiàng)?針對(duì)這個(gè)問題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡(jiǎn)單易行的方法。
成都創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供平輿網(wǎng)站建設(shè)、平輿做網(wǎng)站、平輿網(wǎng)站設(shè)計(jì)、平輿網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、平輿企業(yè)網(wǎng)站模板建站服務(wù),10年平輿做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
注意事項(xiàng):1、若是使用未指定長(zhǎng)度的字符數(shù)組來存儲(chǔ)字符,同時(shí)未指定結(jié)束符,那么這就不是字符串。2、如果字符數(shù)組的中間有一個(gè)數(shù)字0或者'\0',那么在使用字符串輸出函數(shù)的時(shí)候會(huì)在0前截止,0后的不會(huì)輸出。
c語(yǔ)言中沒有c++字符串?dāng)?shù)據(jù)類型,而是通過字符數(shù)組去模擬字符串,字符串以'\0',即0作為結(jié)束符。
需要注意的是:
1、若是使用未指定長(zhǎng)度的字符數(shù)組來存儲(chǔ)字符,同時(shí)未指定結(jié)束符,那么這就不是字符串。
比如 char buff1[ ]={'a','b','c'};通過printf("%s",buff1)打印后,在abc后面就是一串亂碼,若在abc字符后接了數(shù)字0,或者'\0',那么這就是一個(gè)字符串,可以正常打印輸出,形如:char buff[ ] = { 'a','b','c',0}或char buff[ ] = { 'a','b','c','\0'}。
2、若使用了指定長(zhǎng)度的字符數(shù)組來初始化字符串,在字符數(shù)小于指定長(zhǎng)度下,形如:char buff[100] = { 'a','b','c'},那么這就是一個(gè)字符串
因?yàn)榇朔N情況的字符數(shù)組會(huì)將剩余未指定的字符默認(rèn)置0,也就相當(dāng)于有了結(jié)束符,這個(gè)字符數(shù)組就可以使用字符串輸出函數(shù)了
但是,如果只是開始聲明了指定大小的數(shù)組而未初始化,然后向里面賦值字符,而未指定結(jié)束符0,那么它用字符串?dāng)?shù)函數(shù)打印也是亂碼,并不是一個(gè)字符串。
所以,我們經(jīng)常在字符數(shù)組初始化的時(shí)候,都置為0,形如:char buff2[100]={0}。
3、如果字符數(shù)組的中間有一個(gè)數(shù)字0或者'\0',那么在使用字符串輸出函數(shù)的時(shí)候會(huì)在0前截止,0后的不會(huì)輸出。
關(guān)于字符數(shù)組表示字符串有哪些注意事項(xiàng)問題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識(shí)。