千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁(yè)  >  技術(shù)干貨  > 數(shù)據(jù)結(jié)構(gòu)構(gòu)造有哪些?

數(shù)據(jù)結(jié)構(gòu)構(gòu)造有哪些?

來源:千鋒教育
發(fā)布人:xqq
時(shí)間: 2023-10-10 23:41:24 1696952484

一、數(shù)據(jù)結(jié)構(gòu)構(gòu)造

1、數(shù)組類型

數(shù)組是有一定順序關(guān)系的若干變量的一個(gè)集合,其中每一個(gè)變量我們稱為數(shù)組的元素,分為一維數(shù)組、多維數(shù)組。一維數(shù)組有一個(gè)下標(biāo)就能確定位置。多維數(shù)組元素有多個(gè)下標(biāo),以標(biāo)識(shí)它在數(shù)組中的位置。

一維數(shù)組

定義:<數(shù)據(jù)類型> <數(shù)組名> < [ ] >? 例:int? i [10]。初始化方法:

普通局部數(shù)組沒有初始化,則數(shù)組中元素的值,是不確定的。全局?jǐn)?shù)組沒有初始化默認(rèn)為0。

全部初始化,給每一位元素寫值,例:int? i [5]={1,2,3,4,5};還可以寫成 int? i []={1,2,3,4,5};兩種寫法都是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ù)類型> <數(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è)元素賦值。還可以寫成 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è)元素,里面不用{}分開,直接給每位元素賦值。

線性部分初始化,例:int? i [2][3]={1,2} ; 剩下的4位元素都默認(rèn)為0。

2、結(jié)構(gòu)體類型

結(jié)構(gòu)體是C語言中一種重要的數(shù)據(jù)類型,該數(shù)據(jù)類型由一組稱為成員(或稱為域,或稱為元素)的不同數(shù)據(jù)組成,其中每個(gè)成員可以具有不同的類型。結(jié)構(gòu)體通常用來表示類型不同但是又相關(guān)的若干數(shù)據(jù)。結(jié)構(gòu)體類型不是由系統(tǒng)定義好的,而是需要程序設(shè)計(jì)者自己定義的。C語言提供了關(guān)鍵字struct來標(biāo)識(shí)所定義的結(jié)構(gòu)體類型。

關(guān)鍵字struct和結(jié)構(gòu)體名組合成一種類型標(biāo)識(shí)符,其地位如同通常的int、char等類型標(biāo)識(shí)符,其用途就像 int 類型標(biāo)識(shí)符標(biāo)識(shí)整型變量一樣可以用來定義結(jié)構(gòu)體變量。定義變量以后,該變量就可以像定義的其他變量一樣使用了;成員又稱為成員變量,它是結(jié)構(gòu)體所包含的若干個(gè)基本的結(jié)構(gòu)類型,必須用“{}”括起來,并且要以分號(hào)結(jié)束,每個(gè)成員應(yīng)表明具體的數(shù)據(jù)類型。

3、共用體類型

不同數(shù)據(jù)類型的數(shù)據(jù)可以使用共同的存儲(chǔ)區(qū)域,這種數(shù)據(jù)構(gòu)造類型稱為共用體,簡(jiǎn)稱共用,又稱聯(lián)合體。共用體在定義、說明和使用形式上與結(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)可以帶來更高的運(yùn)行或者存儲(chǔ)效率。 數(shù)據(jù)結(jié)構(gòu)往往同高效的檢索算法和索引技術(shù)有關(guān)。

聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請(qǐng)您保持通訊暢通,專屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
做進(jìn)度計(jì)劃?rùn)M道圖用什么軟件?

一、做進(jìn)度計(jì)劃?rùn)M道圖的軟件1. Microsoft ProjectMicrosoft Project是微軟公司推出的一款專業(yè)的項(xiàng)目管理軟件,擁有強(qiáng)大的進(jìn)度管理功能,能夠幫...詳情>>

2023-10-10 23:44:24
甘特圖軟件有哪些?

一、Microsoft ProjectMicrosoft Project是一款強(qiáng)大的項(xiàng)目管理軟件,它提供了豐富的功能和靈活性,適用于大型和復(fù)雜的項(xiàng)目管理。二、Smartsheet...詳情>>

2023-10-10 23:36:02
物聯(lián)網(wǎng)傳感器有哪些?

一、物聯(lián)網(wǎng)傳感器物聯(lián)網(wǎng)(IoT)是指將各種物理設(shè)備通過網(wǎng)絡(luò)連接起來,實(shí)現(xiàn)信息的交換和協(xié)作的技術(shù)。物聯(lián)網(wǎng)的核心是傳感器,它們可以感知和測(cè)量...詳情>>

2023-10-10 23:19:12
離線數(shù)倉(cāng)和實(shí)時(shí)數(shù)倉(cāng)區(qū)別?

一、離線數(shù)倉(cāng)和實(shí)時(shí)數(shù)倉(cāng)區(qū)別數(shù)據(jù)倉(cāng)庫(kù)(Data Warehouse)是一個(gè)面向主題的、集成的、相對(duì)穩(wěn)定的、反映歷史變化的數(shù)據(jù)集合,用于支持管理決策。數(shù)...詳情>>

2023-10-10 23:14:04
c語言相比c++有什么優(yōu)勢(shì)?

一、c語言相比c++有什么優(yōu)勢(shì)c語言和c++是兩種非常流行和強(qiáng)大的編程語言,它們都有各自的特點(diǎn)和應(yīng)用領(lǐng)域。c語言是一種面向過程的語言,它簡(jiǎn)潔高...詳情>>

2023-10-10 23:11:30