C string和char 的區別

2021-10-08 14:29:52 字數 703 閱讀 5955

1、定義:

string:string是c++標準庫(stl)中的型別,它是定義的乙個類,定義在 < string > 標頭檔案中。裡面包含了對字串的各種常用操作,它較 char* 的優勢是內容可以動態拓展,以及對字串操作的方便快捷,用+號進行字串的連線是最常用的操作。

char*:char* 是乙個指向字元的指標,是乙個內建型別。可以指向乙個字元,也可以表示字元陣列的首位址(首字元的位址)。我們更多的時候是用的它的第二的功能,來表示乙個字串,功能與字串陣列char ch[n]一樣,表示字串時,最後有乙個 '\0』結束符作為字串的結束標誌。

2、區別:

string的記憶體管理是由系統處理,除非系統記憶體池用完,不然不會出現這種記憶體問題。

char *的記憶體管理由使用者自己處理,很容易出現記憶體不足的問題。

當我們要存乙個串,但是不知道其他需要多少記憶體時, 用string來處理就最好不過了。

當你知道了儲存的記憶體的時候,可以用char *,但是不如用string的好,用指標總會有

隱患。用string還可以使用各種成員函式來處理串的每乙個字元,方便處理。

用char *處理串,就不如string的方便了,沒有相應的函式來直接呼叫,而是要自己編

寫函式來完成串的處理,而且處理過程中用指標還很容易出現記憶體問題。

char *s="string"的內容是不可以改的;char s[10]="string"的內容是可以改的。

CString 和 char 的轉換

cstring 是一種很特殊的 c 物件,它裡面包含了三個值 乙個指向某個資料緩衝區的指標 乙個是該緩衝中有效的字元記數 它是不可訪問的,是位於 cstring 位址之下的乙個隱藏區域 以及乙個緩衝區長度。有效字元數的大小可以是從0到該緩衝最大長度值減1之間的任何數 因為字串結尾有乙個null字元 ...

char 和CString之間的轉換

cstring 是一種很特殊的 c 物件,它裡面包含了三個值 乙個指向某個資料緩衝區的指標 乙個是該緩衝中有效的字元記數 它是不可訪問的,是位於 cstring 位址之下的乙個隱藏區域 以及乙個緩衝區長度。有效字元數的大小可以是從0到該緩衝最大長度值減1之間的任何數 因為字串結尾有乙個null字元 ...

C string 和char 之間的轉換

c 將string加入了c 庫,我們可以用string型別的變數儲存字串,而不用字元型陣列。要使用string類,必須在標頭檔案中包含string標頭檔案 include,並且新增std命名空間。1 string轉換為char 的方法有 1.data string str good boy cons...