在c語言裡面,我們經常會遇到對字元和字串的處理,但是有乙個很大的問題是,c語言裡本身是沒有字串這個型別的。
通常我們實現字串,是通過字元型常量,和字元型陣列來代替的。也就是我們會把乙個個字元放在乙個常量區,用棧上開闢的指標變數來進行訪問,或者是在棧上開闢乙個陣列空間,將字元放在乙個陣列中,遍歷讀取。
而在c++裡面一般我們可以使用stl模板庫中,有乙個string容器,這個容器是c++ 裡面專門用於處理字串的類。string類的底層也是基於vector這個類也就是乙個動態的陣列。所以說實際上也還是對字元型陣列的乙個封裝。
比較字元型陣列與字串的區別,其實是這樣。
char *p = "hello";//字元型常量
char p[6]=;//字元型陣列
比較可以看出,字元型陣列,通常是將字元乙個乙個放在陣列中,末尾是以\0來作為結束標記的。
由於常量區是唯讀的,因此當我們對字串只是進行讀取,不會改變的時候,我們可以將字串放在常量區,通過棧上的指標來進行訪問,但如果涉及到對字串要進行寫入,要改變這個字串的內容時,就必須要把字串放在字元型陣列裡面。
這裡需要強調的是,從棧上訪問常量區,要注意,如果一旦丟失掉這個常量區空間的位置,想要再找回來,可就再也找不到了。
對字串的操作,我們有很多種函式作為介面,典型的比如計算字串長度,拷貝字串。
字元與字串
1 單引號括起來的只能是單個字元,但go語言是utf8格式的,所以單個字元長度都為4位元組,且乙個漢字也是單個字元 unsafe.sizeof c 結果是4unsafe.sizeof 我 結果也是4 單個的字元可以用 單個的 rune 型別表示,rune型別等於於uint32,也就是說儲存單個字元的...
字串 可變字串與不可變字串
一 nsstring 是不可變字串,所有它所有產生其他字串方法都是生成乙個新的字串,而不會改變原來字串 第一種 字面量 它是常量字串,儲存常量區 nsstring str abc 第二種是通過 快捷的構造方法 nsstring stringwithformat 第三種方式 初始化方法 nsstrin...
flash與字串 字串與屬性
有時候,我們想通過設定乙個displayobject 類是屬性值,只是需要通過點來引用即可。有時候,通過字串也可以引用顯示物件裡面的屬性值。下面舉個例子 例如我有乙個movieclip 物件,已經建立在舞台上,我們用mc表示他的物件。設定mc.x 100,那麼你看到的,mc在座標100的位置了。如果...