【規則】
1、string為普通型別,不是陣列型,只是其內容為字串;
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....