c語(yǔ)言字符串講解
發(fā)布時(shí)間:2025-10-22 | 來源:互聯(lián)網(wǎng)轉(zhuǎn)載和整理
c語(yǔ)言字符串定義是存入字符的數(shù)組。
定義一個(gè)數(shù)組,數(shù)組里存放元素為字符串各個(gè)字符+'\\0',其中'\\0'為碼0值,編譯器會(huì)自動(dòng)在字符串的末尾添加此值。在定義這個(gè)數(shù)組時(shí),指定數(shù)組的大小為6,也就是說需要申請(qǐng)6個(gè)字節(jié)的存儲(chǔ)空間,而在等號(hào)右側(cè)的雙引號(hào)中我們卻只書寫了5個(gè)字符。這并不是筆誤,C語(yǔ)言規(guī)定當(dāng)使用雙引號(hào)定義字符串時(shí)以'\\0'作為這個(gè)字符串的結(jié)束標(biāo)志符,也就是說這個(gè)字符串一共有6個(gè)字符。在c 語(yǔ)言中,將字符串作為字符數(shù)組來處理。(c++中不是)在實(shí)際應(yīng)用中人們關(guān)心的是有效字符串的長(zhǎng)度而不是字符數(shù)組的長(zhǎng)度,例如,定義一個(gè)字符數(shù)組長(zhǎng)度為100,而實(shí)際有效字符只有40個(gè),為了測(cè)定字符串的實(shí)際長(zhǎng)度,C 語(yǔ)言規(guī)定了一個(gè)“字符串結(jié)束標(biāo)志”,以字符'\\0’代表。C語(yǔ)言采用字符數(shù)組儲(chǔ)存字符串,在從字符數(shù)組中讀取字符串時(shí),計(jì)算機(jī)是按照順序來讀取的,當(dāng)然如果沒有結(jié)束標(biāo)記,計(jì)算機(jī)就會(huì)一直的讀取下去(那么一直讀取,然后超出了所定義的數(shù)組范圍。