c++ 字串賦給另一個_C++ C風格字串(學習筆記:第6章 22)
阿新 • • 發佈:2021-02-01
技術標籤: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";
用字元陣列表示字串的缺點
- 執行連線、拷貝、比較等操作,都需要顯式呼叫庫函式,很麻煩
- 當字串長度很不確定時,需要用new動態建立字元陣列,最後要用delete釋放,很繁瑣
- 字串實際長度大於為它分配的空間時,會產生陣列下標越界的錯誤
參考
- ^http://www.xuetangx.com/courses/course-v1:TsinghuaX+00740043X_2015_T2+sp/courseware/d4eb7d174ba04a4da6282bcae197892c/434b29cf503548af98e71173eb3e647e/