c語(yǔ)言string和char的區(qū)別 在C 編程中,領(lǐng)導(dǎo)堅(jiān)持用char而不用string,string有那么可怕嗎?
在C 編程中,領(lǐng)導(dǎo)堅(jiān)持用char而不用string,string有那么可怕嗎?在C中優(yōu)先使用字符串是一個(gè)好習(xí)慣。除非C的頑固習(xí)慣,否則應(yīng)該使用字符串而不是字符。Char用于處理任何8位數(shù)據(jù)類型,如邏
在C 編程中,領(lǐng)導(dǎo)堅(jiān)持用char而不用string,string有那么可怕嗎?
在C中優(yōu)先使用字符串是一個(gè)好習(xí)慣。除非C的頑固習(xí)慣,否則應(yīng)該使用字符串而不是字符。
Char用于處理任何8位數(shù)據(jù)類型,如邏輯值、整數(shù)、字符ASCII碼等。要處理字符串,需要使用Char[]數(shù)組,這很麻煩,也很難控制。
String是一個(gè)模板類,專門(mén)用于處理字符串,并封裝了許多成員函數(shù)來(lái)處理字符串。它是C標(biāo)準(zhǔn)庫(kù)的一部分,所有C實(shí)現(xiàn)都支持它,并由C創(chuàng)始人推薦。
選擇使用哪一種并不困難。
char*與string的關(guān)系是什么?
Char*是字符指針,string是字符串。它們并不總是等價(jià)的。在C語(yǔ)言中,當(dāng)字符指針指向的地址存儲(chǔ)一個(gè)字符串(即以“0”結(jié)尾的字符序列)時(shí),可以說(shuō)它指向一個(gè)字符串。在其他情況下,這是不等價(jià)的。在C中,string是一個(gè)類,char*是一個(gè)基本的數(shù)據(jù)類型,這是不等價(jià)的。
string與char的區(qū)別?
字符串是字符串,char是字符,char數(shù)組可以表示字符串。例如,char[10]是一個(gè)字符串,而string不需要定義以下數(shù)組。此外,與string定義的字符串相比,char定義的字符串缺少“終止符”。
string與char的區(qū)別?
字符串是字符串,char是字符,char數(shù)組可以表示字符串。例如,char[10]是一個(gè)字符串,而string不需要定義以下數(shù)組。此外,與string定義的字符串相比,char定義的字符串缺少“終止符”。
char可以定義字符串嗎?
首先,讓我們弄清楚這是一個(gè)有符號(hào)字符類型,它表示一個(gè)字節(jié)(通常是這樣)。我們沒(méi)有看到不同的C編譯器,它們有不同的長(zhǎng)度,一個(gè)字節(jié)和八位。長(zhǎng)度-128到127,通常為0到127,表示ASCII,范圍。1:對(duì)于你說(shuō)的EOF,這意味著文件讀取的結(jié)束,這和char本身沒(méi)有關(guān)系。本質(zhì)上,這個(gè)字符表示-128和127之間的數(shù)據(jù)。但有時(shí)為了達(dá)到某種目的,會(huì)在這個(gè)范圍內(nèi)的數(shù)據(jù)中加入一些定義。例如,如果字符串中有字符0,則表示字符串結(jié)束。EOF相同,表示沒(méi)有要讀取的文件。還有那個(gè)。2:目前char是在不同的編譯環(huán)境中實(shí)現(xiàn)的8位,也就是1個(gè)字節(jié)。你看不到任何其他的實(shí)現(xiàn)。如果您看到任何其他實(shí)現(xiàn),您可能會(huì)看到一個(gè)寬字符,它通常使用兩個(gè)字節(jié)。順便說(shuō)一句,如果你想知道更多關(guān)于這方面的知識(shí),請(qǐng)檢查WindowsCore編程中的字符描述