1. 程式人生 > >C語言中有string嗎?

C語言中有string嗎?

轉自http://apps.hi.baidu.com/share/detail/35615256

一直以來對這個問題都不是很清楚:只是知道C語言裡有<string.h>這個標頭檔案,所以就想當然的認為C語言裡有string這個 型別,可以通過下面這種形式來宣告string的變數 string aString; 後來程式設計時發現通不過編譯,又查資料才知道原來C語言裡壓根就沒有string這個型別,所以字串都是通過char陣列來儲存的, 而<string.h>這個標頭檔案裡宣告的函式原型也全是針對char陣列的種種操作。直到C++中才出現了string這個類(注意是類, 不是型別)。這是網上我找到的比較滿意的答覆:

" C語言中有string型別變數嗎"
這裡的 string 有 二 義性。

(1) 如果 string 是普通詞彙,“C語言中有字元型別變數嗎”, 答,有。 字元型別 用 char 宣告。
char str[]="This is a string";

(2) 如果 string 是專用詞彙,“C語言中有string型別變數嗎”,答,沒有。string 是 類,是 class, 不是 型別,不是 type.
類 的 宣告 用 建構函式初始化,或 new 宣告。
類 -- C++, 不是 C