編程高手之路語言十八結(jié)構(gòu)體_第1頁
編程高手之路語言十八結(jié)構(gòu)體_第2頁
免費(fèi)預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、結(jié)構(gòu)是由基本數(shù)據(jù)類使用不同的數(shù)據(jù)類型的、并用一個(gè)標(biāo)識符來命名結(jié)構(gòu)是由基本數(shù)據(jù)類使用不同的數(shù)據(jù)類型的、并用一個(gè)標(biāo)識符來命名的各種變量的組合。結(jié)構(gòu)中一、結(jié)構(gòu)說明和結(jié)構(gòu)變量定Turbo C 中,結(jié)構(gòu)也是一種數(shù)據(jù)類型,可以使用結(jié)構(gòu)變量,因此,象其它類型的變量一樣,定義結(jié)構(gòu)變量的一般格式為struct 結(jié)構(gòu)類型;類型 結(jié)構(gòu)變量結(jié)構(gòu)名是結(jié)構(gòu)的標(biāo)識符不是變量類型為第二節(jié)中所講述的五種數(shù)據(jù)類型(整型、浮點(diǎn)型、字符型、指針型和無值型)員,它象數(shù)組的元素一樣,但數(shù)組中元素成員來下面舉一個(gè)例子來說明怎樣定義結(jié)構(gòu)變structchar sex4; float;這個(gè)例子定義了一個(gè)結(jié)構(gòu)名為的結(jié)構(gòu)變,如果省略變,則變成構(gòu)的

2、說明。用已說明的結(jié)構(gòu)名也可定義結(jié)構(gòu)變量。這樣定義時(shí)上例變成structchar sex4; floatstruct;如果需要定義多個(gè)具有相同形式的結(jié)構(gòu)變量時(shí)用這種方法比較方便,它先作結(jié)構(gòu)說明,用如果需要定義多個(gè)具有相同形式的結(jié)構(gòu)變量時(shí)用這種方法比較方便,它先作結(jié)構(gòu)說明,用結(jié)構(gòu)名來定義變struct string Tianyr, Liuqi, ,用這種結(jié)構(gòu)時(shí)前面char sex4; floatTianyr, 二、結(jié)構(gòu)變量的使結(jié)構(gòu)是一個(gè)新的數(shù)據(jù)類型,因此結(jié)構(gòu)變量也可以象其它類型的變量一樣賦值、運(yùn)算,不的是結(jié)構(gòu)變量以成員作為基本變量結(jié)員的表示方式為結(jié)構(gòu)變量.下面這個(gè)例子定義了一個(gè)結(jié)構(gòu)變量,其中每個(gè)成

3、員都從鍵盤接收數(shù)據(jù),然后對結(jié)點(diǎn)數(shù)求和,并顯示運(yùn)算結(jié)果。請注意這個(gè)例子中不同員。char name8; charfloatchar/*判斷是否繼續(xù)循環(huán)scanf(%s,scanf(%s,f(Thesumofwageis%6.2fn,wage); 同樣可以有結(jié)構(gòu)數(shù)組和結(jié)構(gòu)指結(jié)構(gòu)數(shù)組就是具有相同結(jié)構(gòu)類型的變量集合。假如要定義一個(gè)班級 40 個(gè)同學(xué)、和住址, 可以定義成一個(gè)結(jié)構(gòu)數(shù)組。如下所示char sex4;char也可定義為structchar sex4;charstructstring需的是結(jié)構(gòu)數(shù)組成員是以數(shù)組元素為結(jié)構(gòu)變量的其形式為結(jié)構(gòu)數(shù)組元素.成員實(shí)際上結(jié)構(gòu)數(shù)組相當(dāng)于一個(gè)二維構(gòu)造, 第一維是

4、結(jié)構(gòu)數(shù)組元素, 每個(gè)元素是實(shí)際上結(jié)構(gòu)數(shù)組相當(dāng)于一個(gè)二維構(gòu)造, 第一維是結(jié)構(gòu)數(shù)組元素, 每個(gè)元素是一個(gè)結(jié)構(gòu)量, 第二維是注意員結(jié)構(gòu)數(shù)組的成員也可以是數(shù)組變量structfloat f; 結(jié)構(gòu)a中結(jié)構(gòu)變量y2的這個(gè)變量,可寫成y2.m14 結(jié)構(gòu)指針是指向結(jié)構(gòu)的指針。它由一個(gè)加在結(jié)構(gòu)變量名前的* 操作符來定義, 例如用前structchar sex4;charstruct string *student;然后再用下面的語句定義結(jié)構(gòu)指員員, 與結(jié)構(gòu)變量對結(jié)在表達(dá)方式上有所員其中-是兩個(gè)符號-和的組合,好象一個(gè)箭頭指向name age 賦值,可以用下面語句: strcpy(student-name, L

5、u G.C); 實(shí)際上, student-name 就是(*student).name 的縮寫形式例如要給上面定義的結(jié)構(gòu)需的是結(jié)構(gòu)指針是指向結(jié)構(gòu)的一個(gè)指針, 即結(jié)構(gòu)中第一個(gè)成員的首地址, 因此使用之前應(yīng)該對結(jié)構(gòu)指針初始化, 即分配整個(gè)結(jié)構(gòu)長度的字節(jié)空間,這可用下面函數(shù)完成, 仍以上例來說明如下:student=(struct string*)malloc(size of (struct sizeof(structstring)自動(dòng)求取string結(jié)構(gòu)的字節(jié)長度,malloc()函數(shù)定義了一個(gè)大小為結(jié)構(gòu)長度的內(nèi)存區(qū)域, 然后將其詐地址作為結(jié)構(gòu)指針返回。注意變量, 視定義的位置而定。3. 結(jié)構(gòu)的復(fù)雜形式:嵌套結(jié)嵌套結(jié)構(gòu)是指在一個(gè)員3. 結(jié)構(gòu)的復(fù)雜形式:嵌套結(jié)嵌套結(jié)構(gòu)是指在一個(gè)員中可以包括其它一個(gè)結(jié)構(gòu),Turbo C 允許這種嵌套下面是一個(gè)有嵌套的結(jié)structstructaddr其中addr為另一個(gè)結(jié)構(gòu)的結(jié)構(gòu)名, 必須要先進(jìn)行, 說明, structchar city20; 如果要給student結(jié)構(gòu)中成員address結(jié)構(gòu)中的zip

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論