字元 字元陣列 char string的區別分析

2021-04-17 11:35:59 字數 2048 閱讀 4554

【規則】

1string為普通型別,不是陣列型,只是其內容為字串;

2』a』」a」的區別:』a』為字元,」a」為字串;單引號只能定義乙個字元,雙引號可以定義多個字元,即字串。

3、指標可以通過加減、自加減改變其值,陣列不可以。

4、以陣列定義的字串可以修改其中的字元,以指標定義的字串不能修改其中的字元。

例如:char a=」hello」;

coutcoutcout<<*a;            //輸出 h,即陣列a的第乙個字元

cout<*a=」l」;            //錯誤,規則2,*a為字元,」l」為字串,不匹配

*a=』l』;            //正確,規則4,將陣列第乙個字元修改為l

coutcout<

char *a="hello";

coutcoutcout<<*a;          //輸出 e,因上一行中a已經自加1

*a=』l』;         //錯誤,規則4,不能修改指標定義的字串的字元。

//【注意】此處編譯可通過,執行時會出錯,提示「不能寫入」

a[2]=』6』;      //錯誤,規則4,不能修改指標定義的字串的字元。

string型(需要string標頭檔案)

char型(不需要string標頭檔案)

char a=』m』;正確

char a=」m」;錯誤

char *a=」m」;正確

char a=」m」;正確

string a=」hello」;正確

char a=」hello」;錯誤

string *a=」hello」;錯誤

char *a=」hello」;正確

string a=」hello」;錯誤

char a=」hello」;正確

string *p=a;錯誤

char *p=a;正確

string *p=&a;正確

char *p=&a;錯誤

cout<a的值

cout<a的值

cout<<*a;錯誤

cout<<*a;

a的首字元

cout<<&a;

a的位址

cout<<&a;

a的位址

字元,字元陣列,字元指標

一 字串變數與常量 例 char a abcdefg 這一段語句中,既有字串變數,也有字串常量。變數是陣列a,常量是 中的字面量字串 abcdefg 此時,可以訪問或修改a中任意乙個元素 但是,常量字串只能訪問,不能修改。這句留著下面有用 二 字元指標與字串常量 例 char p abcdefg 這...

字元指標 定長字元陣列 不定長字元陣列 字元的區別

先來點基礎知識 printf中分別代表的輸出型別 c 字元 d 有符號十進位制整數 f 浮點數 包括float和doulbe e e 浮點數指數輸出 e e 記數法 g g 浮點數不顯無意義的零 0 i 有符號十進位制整數 與 d相同 u 無符號十進位制整數 o 八進位制整數 e.g.0123 x ...

字串 字元陣列 字串陣列 字元陣列的相互轉換

1 字串 字元陣列的相互轉換 string strstringtype my string 建立乙個字串 charchrchararray 建立乙個字元陣列 chrchararray strstringtype.tochararray 將字串轉換為字元陣列 strstringtype string....