1. 程式人生 > 其它 >c++ 字串賦給另一個_C++ C風格字串(學習筆記:第6章 22)

c++ 字串賦給另一個_C++ C風格字串(學習筆記:第6章 22)

技術標籤:c++ 字串賦給另一個

在C++的基礎資料型別中,沒有字串常量。

C++有兩種方式來儲存和處理字串,一種是從C語言繼承過來的C風格字串,即用字元陣列來存放字串。另一種是C++標準模板庫裡面的string類(推薦使用string類)。

字串常量[1]

  • 例:"program"
  • 各字元連續、順序存放,每個字元佔一個位元組,以‘0’結尾,相當於一個隱含建立的字元常量陣列
  • “program”出現在表示式中,表示這一char陣列的首地址
  • 首地址可以賦給char常量指標:
const char *STRING1 = "program";
字串常量的首地址賦值或者初始化一個字元指標,字元指標要是常指標,即指標前面有const修飾,因為指標所指向的物件是不能修改的常量地址。

用字元陣列儲存字串(C風格字串)

  • 例如

char str[8] = { 'p', 'r', 'o', 'g', 'r', 'a', 'm', '0' };

char str[8] = "program";

char str[] = "program";

c60064164348ffecba6d507287857d79.png

用字元陣列表示字串的缺點

  • 執行連線、拷貝、比較等操作,都需要顯式呼叫庫函式,很麻煩
  • 當字串長度很不確定時,需要用new動態建立字元陣列,最後要用delete釋放,很繁瑣
  • 字串實際長度大於為它分配的空間時,會產生陣列下標越界的錯誤

參考

  1. ^http://www.xuetangx.com/courses/course-v1:TsinghuaX+00740043X_2015_T2+sp/courseware/d4eb7d174ba04a4da6282bcae197892c/434b29cf503548af98e71173eb3e647e/