一、數(shù)據(jù)結(jié)構(gòu)構(gòu)造
1、數(shù)組類(lèi)型
數(shù)組是有一定順序關(guān)系的若干變量的一個(gè)集合,其中每一個(gè)變量我們稱(chēng)為數(shù)組的元素,分為一維數(shù)組、多維數(shù)組。一維數(shù)組有一個(gè)下標(biāo)就能確定位置。多維數(shù)組元素有多個(gè)下標(biāo),以標(biāo)識(shí)它在數(shù)組中的位置。
一維數(shù)組
定義:<數(shù)據(jù)類(lèi)型> <數(shù)組名> < [ ] >? 例:int? i [10]。初始化方法:
普通局部數(shù)組沒(méi)有初始化,則數(shù)組中元素的值,是不確定的。全局?jǐn)?shù)組沒(méi)有初始化默認(rèn)為0。
全部初始化,給每一位元素寫(xiě)值,例:int? i [5]={1,2,3,4,5};還可以寫(xiě)成 int? i []={1,2,3,4,5};兩種寫(xiě)法都是5個(gè)元素。
局部初始化,只給數(shù)組里前幾位初始化,不完全初始化,余下的就會(huì)默認(rèn)為0。例:int? i [5]={0};剩下的4位默認(rèn)為0。int? i [5]={1,2}; 剩下的3位都為0。
二維數(shù)組
多維數(shù)組要多個(gè)下標(biāo),二維數(shù)組有兩個(gè)下標(biāo),才能確定位置。定義: <數(shù)據(jù)類(lèi)型> <數(shù)組名> < [ ] >< [ ] >? 例:int? i [5][10]; 可以看成是5個(gè)一維數(shù)組,每個(gè)一維數(shù)組10個(gè)元素。初始化方式:
全部初始化,例:int? i [2][3]={ {1,2,3},{1,2,3} };{}里有兩個(gè)一維數(shù)組。給每個(gè)元素賦值。還可以寫(xiě)成 int? i [][3]={ {1,2,3},{1,2,3} };
部分初始化:int? i [2][3]={ {1},{1} };給個(gè)每個(gè)給前面1個(gè)(或多個(gè))元素賦值,名列前茅個(gè)一維剩下的3個(gè)元素默認(rèn)為0,第二個(gè)也是。
線性賦值,例:int? i [2][3]={1,2,3,1,2,3}; 這里數(shù)組共有6個(gè)元素,里面不用{}分開(kāi),直接給每位元素賦值。
線性部分初始化,例:int? i [2][3]={1,2} ; 剩下的4位元素都默認(rèn)為0。
2、結(jié)構(gòu)體類(lèi)型
結(jié)構(gòu)體是C語(yǔ)言中一種重要的數(shù)據(jù)類(lèi)型,該數(shù)據(jù)類(lèi)型由一組稱(chēng)為成員(或稱(chēng)為域,或稱(chēng)為元素)的不同數(shù)據(jù)組成,其中每個(gè)成員可以具有不同的類(lèi)型。結(jié)構(gòu)體通常用來(lái)表示類(lèi)型不同但是又相關(guān)的若干數(shù)據(jù)。結(jié)構(gòu)體類(lèi)型不是由系統(tǒng)定義好的,而是需要程序設(shè)計(jì)者自己定義的。C語(yǔ)言提供了關(guān)鍵字struct來(lái)標(biāo)識(shí)所定義的結(jié)構(gòu)體類(lèi)型。
關(guān)鍵字struct和結(jié)構(gòu)體名組合成一種類(lèi)型標(biāo)識(shí)符,其地位如同通常的int、char等類(lèi)型標(biāo)識(shí)符,其用途就像 int 類(lèi)型標(biāo)識(shí)符標(biāo)識(shí)整型變量一樣可以用來(lái)定義結(jié)構(gòu)體變量。定義變量以后,該變量就可以像定義的其他變量一樣使用了;成員又稱(chēng)為成員變量,它是結(jié)構(gòu)體所包含的若干個(gè)基本的結(jié)構(gòu)類(lèi)型,必須用“{}”括起來(lái),并且要以分號(hào)結(jié)束,每個(gè)成員應(yīng)表明具體的數(shù)據(jù)類(lèi)型。
3、共用體類(lèi)型
不同數(shù)據(jù)類(lèi)型的數(shù)據(jù)可以使用共同的存儲(chǔ)區(qū)域,這種數(shù)據(jù)構(gòu)造類(lèi)型稱(chēng)為共用體,簡(jiǎn)稱(chēng)共用,又稱(chēng)聯(lián)合體。共用體在定義、說(shuō)明和使用形式上與結(jié)構(gòu)體相似。兩者本質(zhì)上的不同僅在于使用內(nèi)存的方式上。
延伸閱讀:
二、數(shù)據(jù)結(jié)構(gòu)是什么
數(shù)據(jù)結(jié)構(gòu)是計(jì)算機(jī)存儲(chǔ)、組織數(shù)據(jù)的方式。數(shù)據(jù)結(jié)構(gòu)是指相互之間存在一種或多種特定關(guān)系的數(shù)據(jù)元素的集合。通常情況下,精心選擇的數(shù)據(jù)結(jié)構(gòu)可以帶來(lái)更高的運(yùn)行或者存儲(chǔ)效率。 數(shù)據(jù)結(jié)構(gòu)往往同高效的檢索算法和索引技術(shù)有關(guān)。