今天的標題取得..好嚴肅的感覺。(小若:咳噗)
這章的內容雖然還是很詳(lao)細(dao),但已經開始有很多值得記錄的內容了~
那么,今天就來初次介紹數組與字符串…以及結構體..還有共用體..吧。
1.數組
我記得大四實習的時候,請教同事:“什么是屬主?”(其實是和數據庫相關的東西)
然后同事驚訝地說道:“啊,你連數組都不知道..這,基礎還是要好好補補…吶,數組的意思呢,是這樣的…”
我聽著聽著就不對勁,“等等,這是數組…其實我是問這個屬主…”
然后同事松了一口氣,估計心里在想,“唉,嚇死我,我以為來了個渾水摸魚的實習生了”。
等等,我好像跑題了。
那么,數組這么簡單,我是不可能給大家介紹的了。
隨便說說它的聲明和初始化吧,如下代碼:
代碼里已經把大部分的情況都列出來了~
關于第3條的第二種,其實也是C++11的新特性。
最后,對于第6條這種的話,也是C++11的新東西,我個人不太喜歡~
這可能會讓不熟悉C++的人覺得很生疏(比如別人只是迫不得已要看一段C++代碼,結果出來了這句,可能會一下子蒙住)。
而其他的形式即使沒有學過C++的人也能很輕易地知道這是在定義一個數組。(好吧,隨便說說的)
2.字符串
字符串有兩種,一種是C風格的字符串,另一種是string(可以說是一個類了)
C風格字符串和數組很像,如下代碼:
這種風格的字符串就相當于char類型的數組了,但是它需要在最后加一個'/0'作為結束符(學過C的都知道喇)
我想,正常人都會使用第一種方式的(除非特殊情況?我還真不知道),”mutou”稱之為字符串常量,后面會自動給數組補上一個'/0'符號的。
接著就是string字符串了,使用方式如下:
string在頭文件string里,所以使用的時候要加上 #include <string>。
并且它屬于命名空間std,所以也要加上std::
string字符串用起來很舒服,就像是本就該這么用的那種感覺~
如果使用C風格字符串,那么,復制字符串和連接字符串都會變得很麻煩(需要使用strcpy和strcat函數來完成)
3.原始字符串
還有一個比較有意思的字符串,叫做原始字符串。
我們都知道,字符串是用雙引號來包圍的,如果要在字符串中出現其他雙引號,就要用轉義字符/。
而使用原始字符串就可以避免這種麻煩,如下代碼:
輸出結果如下:
4.結構體
結構體應該算是類的前身吧~
比較簡單,不多說了,隨便看看:
好吧,不多說了~
5.共用體
人格分裂聽過嗎?
沒聽過吧~人格分裂就是好幾個人的靈魂存在于同一個身體里,同時只能有一個靈魂在控制身體。(小若:瞎說~!)
C++也有這樣的東西,那就是共用體,看代碼:
輸出結果是:
共用體和struct很像,唯一有一點區別,那就是,共用體里的屬性只能同時存在一個。
比如剛剛的代碼,雖然age在之前賦值為25,但是一旦給其他屬性賦值,那么age的值將不被保留。
因為他們使用的是同一個空間,這點要記住。
因為共用體的所有屬性都是使用一個存儲空間的,所以共用體占內存的大小是以需要最大存儲空間的成員為準的。
也許第一次聽說共用體的人會迷糊,其實共用體可以想象成是一個變量有多個名字,我們可以用不同的名字去使用它們。
只不過,這不同的名字有著不相同的類型擺了。
6.結束
嗯,這本書實在是太詳(lao)細(dao)了,第四章還在繼續進行中。(小若:你覺得和你比起來,誰更嘮叨?)
新聞熱點
疑難解答