第4章 復合型別

2021-07-16 08:42:33 字數 2138 閱讀 6143

第 4 章  復合型別

一、陣列

潛規則:

① 只有在定義陣列時才能使用初始化。

② 不能將乙個陣列賦給另乙個陣列。

③ 如果初始化為,則表示第乙個元素被設定為1,其他元素被設定為0。

二、字串

注意要點:

① 在確定儲存字串所需的最短陣列時,記得將結尾的空字元計算在內。

② 如果要顯示部分字串,只需將需要的字串的結尾標記為'\0'。

③ 每次讀取一行字串輸入

(1)

getline()

使用通過回車鍵輸入的換行符來確定輸入結尾。陣列中用cin.getline(name,n),其他型別用getline(cin,name).

值得注意的是,getline還允許在輸入字串時增加其他分隔符,使用方法是把可以作為分隔符的第三個引數傳遞給getline,例如:

#include#includeusing namespace std;

int main();

① 可以用列舉名來宣告這種型別的變數:spectrum band;

② 在不進行強制型別轉換的情況下,只能將定義列舉時使用的列舉量賦給這種列舉的變數:

band = orange;

③ 列舉中只定義了賦值運算子:

++band(×)

band = orange + red(×)

④ 如果 int的值是有效的,則可以通過強制型別轉換,將它賦給列舉變數:

band = spectrum(3);

⑤ 列舉型別的名稱是可以省略的。

六、指標、陣列和指標算數

對於const char * bird = "wren"的解釋:

① "wren"實際表示的是字串的位址

② 字串的字面值是常量,故在宣告中使用關鍵字const。

七、陣列的替代品

1、vector

包含標頭檔案vector,是一種動態陣列。

vectorvt(n)

示例:

#include...

using namespace std;

vectorvi;

int n;

cin >> n;

vectorvd(n);

2、模板類 array(c++11)

包含標頭檔案array。

arrayarr

示例:

#include...

using namespace std;

arrayai;

arrayad = ;

與vector不同的是,n不能為變數,且可直接將乙個array物件賦給另乙個。

C primer plus 第4章 復合型別

1.陣列初始化 2.字串 兩種方式 c 風格字串 以 0結尾 string類庫 單引號表示字元常量 a 是字串編碼的簡寫,char a a 是正確的。但是 a 表示的是兩個字元a和 0組成的字串,實際上 a 表示的是字串所在的記憶體位址,因此char a a 是非法的 1 cin.getline a...

C 學習第4章 復合型別

知識點 4.1 陣列 1.如果將sizeof 用於陣列,將獲得整個陣列的位元組數。2.不能將乙個陣列賦給另乙個陣列。4.2 字串 1.字串常量 雙引號 不能和字元常量 單引號 互換。4.3 string類 1.string類物件可以賦值 拼接和附加。2.string類具有自動調整大小的功能。3.c ...

C plus6th 第4章 復合型別

第一種方法 int year cin year cin.get or cin.get ch char name 10 cin.getline name,10 第二種方法 int year cin year get or cin year get ch char name 10 cin.getline...