面向?qū)ο蟪绦蛟O(shè)計(jì).ppt

面向?qū)ο蟪绦蛟O(shè)計(jì).ppt

ID:48544109

大?。?83.50 KB

頁(yè)數(shù):45頁(yè)

時(shí)間:2020-01-18

面向?qū)ο蟪绦蛟O(shè)計(jì).ppt_第1頁(yè)
面向?qū)ο蟪绦蛟O(shè)計(jì).ppt_第2頁(yè)
面向?qū)ο蟪绦蛟O(shè)計(jì).ppt_第3頁(yè)
面向?qū)ο蟪绦蛟O(shè)計(jì).ppt_第4頁(yè)
面向?qū)ο蟪绦蛟O(shè)計(jì).ppt_第5頁(yè)
資源描述:

《面向?qū)ο蟪绦蛟O(shè)計(jì).ppt》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。

1、面向?qū)ο蟪绦蛟O(shè)計(jì)第十章結(jié)構(gòu)§10.1結(jié)構(gòu)§10.2結(jié)構(gòu)與指針§10.3結(jié)構(gòu)與數(shù)組§10.4傳遞結(jié)構(gòu)參數(shù)§10.5結(jié)構(gòu)函數(shù)§10.6鏈表結(jié)構(gòu)§10.7聯(lián)合(Union)小結(jié)7/18/20212前面已介紹了整型、實(shí)型、字符型等基本數(shù)據(jù)結(jié)構(gòu)。介紹了處理相同數(shù)據(jù)類型數(shù)據(jù)集合的數(shù)組。對(duì)于處理具有某種聯(lián)系,可以由不同類型的數(shù)據(jù)項(xiàng)組成的復(fù)雜數(shù)據(jù)類型,C++稱為結(jié)構(gòu)。本章內(nèi)容包括結(jié)構(gòu)類型及變量的定義,訪問(wèn)結(jié)構(gòu)的成員方法,結(jié)構(gòu)作為參數(shù)傳遞的函數(shù)調(diào)用及返回結(jié)構(gòu)的函數(shù)等。7/18/2021310.1結(jié)構(gòu)一、結(jié)構(gòu)及結(jié)構(gòu)變

2、量的定義結(jié)構(gòu)是用戶自定義的新數(shù)據(jù)類型。聲明結(jié)構(gòu)類型時(shí),首先指定關(guān)鍵字struct和結(jié)構(gòu)名,然后用一對(duì)花括號(hào)將若干個(gè)結(jié)構(gòu)成員數(shù)據(jù)類型說(shuō)明括起來(lái)。例如,要表示一個(gè)單位職工的收入情況,需要記錄每個(gè)職工的姓名、年齡、工資等信息。當(dāng)用結(jié)構(gòu)類型表示時(shí),結(jié)構(gòu)中應(yīng)包括一個(gè)字符串分量(表示姓名),一個(gè)整型分量(表示年齡),一個(gè)浮點(diǎn)型分量(表示工資)。按C++規(guī)定,可做如下定義:structperson{charname[10];intage;floatwage;};7/18/20214其中,struct是關(guān)鍵字;p

3、erson是自定義的結(jié)構(gòu)類型的名稱;花括號(hào)中是結(jié)構(gòu)成員的說(shuō)明。person結(jié)構(gòu)類型被定義后,從使用角度看,就等效于int,char,float等基本數(shù)據(jù)類型。類型定義通常位于main()函數(shù)之前,使該類型在定義點(diǎn)后面的程序中可見(jiàn)。要使用結(jié)構(gòu)變量也必須先定義后使用,例如:personworker;聲明一個(gè)結(jié)構(gòu)并不分配內(nèi)存,內(nèi)存分配發(fā)生在定義這個(gè)新數(shù)據(jù)類型的變量中。變量一旦定義,編譯器將為woker變量分配包含三種不同數(shù)據(jù)類型成員的存儲(chǔ)空間name…………age…………wage…………7/18/202

4、15二、結(jié)構(gòu)成員的訪問(wèn)一旦通過(guò)定義相應(yīng)結(jié)構(gòu)變量,分配了空間,就可以使用點(diǎn)操作符“.”(或稱結(jié)構(gòu)成員操作符)來(lái)訪問(wèn)結(jié)構(gòu)中的成員。左操作數(shù)為結(jié)構(gòu)類型變量,右操作數(shù)為結(jié)構(gòu)中的成員。一般形式:結(jié)構(gòu)變量名.結(jié)構(gòu)成員名例如:worker.age=25;cin>>worker.age;cin>>worker.wage;下面是一個(gè)定義結(jié)構(gòu)類型和變量的簡(jiǎn)單例子:7/18/20216#includestructweather{floattemp;intwind;};voidmain(){wea

5、thertoday;today.temp=25.5;today.wind=4;cout<<“Temp=”<structperson{charname[20];longid;floatsalary;};perso

6、npr1{“Liming”,1082422,5300.0};7/18/20218voidmain(){personpr2;pr2=pr1;//assigningpr1topr2cout<

7、18/2021910.2結(jié)構(gòu)與指針結(jié)構(gòu)變量的成員可以通過(guò)點(diǎn)操作符進(jìn)行訪問(wèn),也可以通過(guò)指針進(jìn)行訪問(wèn)。若定義一個(gè)結(jié)構(gòu)指針,并把一個(gè)結(jié)構(gòu)變量的地址賦給它,則通過(guò)該指針可對(duì)結(jié)構(gòu)變量的成員進(jìn)行訪問(wèn)。結(jié)構(gòu)指針定義格式如下:person*p;//定義指向結(jié)構(gòu)類型的指針personpr1;//定義結(jié)構(gòu)類型變量若p=&pr1;則p是指向結(jié)構(gòu)變量pr1的結(jié)構(gòu)指針,為訪問(wèn)成員,可寫(xiě)成:(*p).name等效于p->name;(*p).id等效于p->id;(*p).salary等效于p->salary.7/18/202

8、110在使用指針訪問(wèn)成員時(shí),通常使用箭頭操作符“->”。例如:下面程序中,定義了結(jié)構(gòu)指針,通過(guò)結(jié)構(gòu)指針訪問(wèn)結(jié)構(gòu)成員。#include#includestrutperson{charname[20];longid;floatsalary;};7/18/202111voidmain(){personpr1;person*p;p=&pr1;strcpy(p->name,“Wangming”);p->id=12345678;p->salary=4

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫(huà)的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。