C 復合型別

2021-06-16 21:14:39 字數 1555 閱讀 6541

陣列:

陣列是一種資料格式,能夠儲存多個同型別的資料。

宣告陣列的通用格式:

typename arrayname[arraysize];

arraysize指定了元素的個數,它必須是整型常量(20或者const值),也可以是表示式,但是其中的所有值在編譯時必須是已知的,所以說arraysize不是變數,變數的值是在程式執行的時候才知道到。

int a[10];a的型別不是 int 而是int陣列,訪問陣列元素時只需要在加上下標即可,訪問第乙個元素a[0],注意陣列的下標是從0開始的,注意取元素時一定要注意下標是否超出的情況,a[10],下標最大為9,10肯定是超出了,但是這種錯誤在編譯時不會被發現的,但是在程式執行以後,會導致程式執行中止,這種錯誤是絕對不允許的,所以必須保證下標的和效性。

把sizeof(a)得到的是整個個陣列的長度40,如果作用於sizeof(a[0])得到的是元素的長度

陣列的初始化:

int a[4] = ;

int b[4];

b[4] = ;//這種是錯誤的寫法,要大括號初始陣列時,必須和宣告同時進行

b = a; //這種是錯誤的寫法,陣列與陣列之間不能這樣直接賦值,但是可以分別用元素進行賦值

float c[5] = ;//當大括號中的資料個數,小於了中的陣列元素個數時,則編譯器將把其餘的元素初始化為0

doulbe d[5] = ;//其中第乙個初始為1,後面初始為0

short e = ;//初始化乙個short陣列,當不寫時,陣列的長度為大括號中的元素的個數

c++11中可以省略「=」來初始化:int a[4]

字串:

字串處理方式有兩種一種 是c的處理方式,c的處理方式是以『\0』,作為結尾的識別符號

字串"vnvn",它的長度不是4而是5,因為它還有乙個結束識別符號『\0』

初始化字元資料:

char a[10] = "vnvn";//從第5個元素開始以後的元素的值都是'\0'

char a = "vnvn";//陣列a的長度為5

sring型別:

要使用string必須先導入標頭檔案string,它的命名空間是std

可以使用初始化c字串的方式來初始化string 如:std::string a = "abc",可以使用cin輸入到string 如:cin>>a,可以使用cout來輸出string如:cout《注:

string 不同於陣列,string是可以直接用string來初始化的

std::string a = "abc";

std::string b = a;

b[0] = 'c';

此時,a的值為"abc",b的值為「cbc」,也就是說,他們的賦值不是一種指標的指向賦值,而是一種內容的拷貝

string還可以通過+,+=來追加字串,如:

std::string a = "ab";

std::string b = "cd";

std::sting c = a + b;//c的值為「abcd」

a+=b; //a的值為「abcd」

string的其它操作見標頭檔案cstring(以前為string.h)。

C 復合型別

include include include include include using namespace std 學習進度c primer plus第4章 復合型別 陣列 c風格字串 string變數 getline 和get 結構體 共用體 列舉 指標 new與delete管理動態記憶體 建...

C 復合型別

復合型別 基於其它型別定義的型別。1.引用 reference 含義 物件的另外的名字,引用另外一種型別,使用 宣告符 的形式定義。引用即別名,引用不是乙個物件,只是已經存在的物件的另外乙個名字,因此定義引用必須初始化,且不能定義引用的引用。一般初始化變數,是將初始值拷貝到新物件中去,而定義引用時,...

C 復合型別(1)

復合型別 compound type 是指基於其他型別定義的型別。c 語言有幾種復合型別,這裡將介紹兩種復合型別引用和指標。與我們已經掌握的變數宣告相比,定義復合型別的變數要複雜很多。一條簡單的宣告語句由乙個資料型別和緊隨其後的乙個變數名列表組成。其實更通用的表述是,一條宣告語句由乙個基本資料型別 ...