1樓:匿名使用者
c-style 是乙個指標,或者char陣列,字串的末尾有\0字元
string是乙個stl中的類,用於處理字串,string有乙個方法可以返回乙個c-style指標
string中還包含了很多處理字串需要的方法,一般不最強最快效率的情況下用string不容易出錯
2樓:止語
c-style 是最原始的,位元組陣列,使用起來麻煩但是靈活,string 是包轉的類,使用起來簡單也教靈活。從記憶體空間來看,不管是字串,還是乙個整數陣列……,都是記憶體中的資料。
3樓:匿名使用者
c++中沒用string型別,而是有char陣列後加'\0'來表示陣列的,輸出%s表示輸出陣列而已。
c++中字元和字串的區別是什麼?
4樓:匿名使用者
字元是單個的,字串一般有多個,但也可以是單個,甚至可以是空的char c;
c='a';字元a,注意使用單引號
string c="abcd";
string c1="a";單個字元,但是雙引號char *s="abcd"
5樓:匿名使用者
字元只佔用乙個位元組的儲存空間,而字串至少要佔用2個位元組;表現形式上,字元是心''包圍起來的,而字串是心""包圍起來的.字串在儲存上是以空字元'\0'(asiic值為0)結尾的.
6樓:匿名使用者
c++中乙個字元只能儲存乙個ascll字元,而乙個字串則可以儲存多個ascll字元。比如char a="abc"錯誤的,char a="abc"則是正確的。
7樓:na年花開
c++沒有字串的定義
一般用字元陣列來定義
比如說char ch="abcd";
char ch='a';
自己看吧單雙引號的
8樓:酆令慧芒石
唯一的區別就是字串末尾有乙個'\0'
面字元陣列是沒有的.
char
ch1="hello";//該串有6個字元,5個可見字元,因為是串,所以末尾自動加上'\0';共六個
char
ch2=;//這樣寫就成了陣列.是確確實實的5個字元
c++中的char定義的陣列和string的字串有什麼區別啊?
9樓:匿名使用者
明確一下:
你說的char是c++的內建型別char麼你說的string是標準庫中定義的類麼
如果是的話,它兩的區別有:
char陣列僅僅是儲存字串用的,c庫中有一系列操作字串的函式string是類,它包含乙個可變長度的char陣列,封裝了常用的字串操作函式
它們之間可以轉化
10樓:匿名使用者
你問的陣列問題的話。不知道我的解釋你感覺怎麼樣。
在資料結構的課程裡。
char型的陣列是這樣的:
char[0] = 'a' char[1] = 'b'
而string[0] = "asdasdasd" string[1] = "asdasdasd"
這樣的解釋應該有助於你的理解
11樓:匿名使用者
對於char陣列
:#include
int main()
執行結果:
www**q
a=www
b=**q
a大於b
press any key to continue二者的區別在於:在char陣列中 輸入www回車,輸入**q回車 即可完成輸入,程式執行
在string物件中 輸入www回車,輸入**q回車,還要再輸入乙個回車才能完成輸入
回車傳送資料到程式中,getline替換回車為'\0' ,寫字串難道不是這樣嗎?
為什麼後者還要多輸入一次回車呢??
12樓:匿名使用者
乙個是 's'
乙個是 "s"
就這點區別
13樓:圭帆召胤
都沒有說到重點,
char
是值型別!
string
是引用型別!這個可是本質的區別。
string可以被例項化,而char不可以。
c 中字元陣列,如何轉成字串啊
如果你想把一個字串變成陣列,你只需要將字串初始化為陣列變數的值即可。例如 char c 10 this is 在c 裡字串在記憶體的儲存方式就是按字串陣列的形式儲存的,所以不用轉換!用cstring的getbuffer函式返回一個存放字元的頭指標,用一個char 來接受他,然後用下標操作就可以了。例...
c中如何判斷字串a中包含012345689數字
正規表示式吧 用字串操作函式也可以 string s abcd for i 0 i 9 j 也不知道對不對 可以用陣列 迴圈 字串操作函式 你是說字串a同時包含十個數字呢還是只是包含數字呢?是不是指包含0到9其中乙個或多個?c語言 int a 0,1,2,3,4,5,6,7,8,9 p a,i 0 ...
C字元陣列和字串陣列,在C中字元陣列和字串有什麼區別
實際上,字元陣列和普通陣列一樣,沒有本質區別。請大家注意陣列型別的含義 資料型別指的是陣列所包含的元素的型別,而不是陣列名的型別,陣列名永遠是乙個指標,指向第乙個元素的位址,即陣列首位址。字元陣列的每個元素都是char型別,整型陣列的每個元素都是int型別。scanf 和 printf 函式有一種格...