![第7講結(jié)構(gòu)體與共用體PPT課件_第1頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-11/11/b6874cd7-e0ae-428d-afcf-9bd31b2ec1a4/b6874cd7-e0ae-428d-afcf-9bd31b2ec1a41.gif)
![第7講結(jié)構(gòu)體與共用體PPT課件_第2頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-11/11/b6874cd7-e0ae-428d-afcf-9bd31b2ec1a4/b6874cd7-e0ae-428d-afcf-9bd31b2ec1a42.gif)
![第7講結(jié)構(gòu)體與共用體PPT課件_第3頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-11/11/b6874cd7-e0ae-428d-afcf-9bd31b2ec1a4/b6874cd7-e0ae-428d-afcf-9bd31b2ec1a43.gif)
![第7講結(jié)構(gòu)體與共用體PPT課件_第4頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-11/11/b6874cd7-e0ae-428d-afcf-9bd31b2ec1a4/b6874cd7-e0ae-428d-afcf-9bd31b2ec1a44.gif)
![第7講結(jié)構(gòu)體與共用體PPT課件_第5頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-11/11/b6874cd7-e0ae-428d-afcf-9bd31b2ec1a4/b6874cd7-e0ae-428d-afcf-9bd31b2ec1a45.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第第7講講 結(jié)構(gòu)體與共用體結(jié)構(gòu)體與共用體17.1 結(jié)構(gòu)體7.2 共用體學(xué)習(xí)目標(biāo)學(xué)習(xí)目標(biāo)l理解結(jié)構(gòu)體的概念。l掌握結(jié)構(gòu)體、共用體類型的定義。l掌握結(jié)構(gòu)體變量 、結(jié)構(gòu)體數(shù)組和結(jié)構(gòu)體指針的使用。l理解共用體變量、共用體指針的使用。l理解鏈表的創(chuàng)建和輸出。2第第7講講 結(jié)構(gòu)體與共用體結(jié)構(gòu)體與共用體37.1.1 結(jié)構(gòu)體的定義和初始化7.1.2 結(jié)構(gòu)體的使用7.1.3 結(jié)構(gòu)體數(shù)組7.1.4 結(jié)構(gòu)體與指針數(shù)字字符+數(shù)字字符串多種不同類型數(shù)據(jù)的混合結(jié)構(gòu)結(jié)構(gòu)體數(shù)據(jù)結(jié)構(gòu)體數(shù)據(jù)4乘客信息系統(tǒng),混合結(jié)構(gòu)大數(shù)據(jù)管理結(jié)構(gòu)體的概念結(jié)構(gòu)體的概念l結(jié)構(gòu)體結(jié)構(gòu)體將不同類型的數(shù)據(jù)有序組合在一起是用戶的自定義數(shù)據(jù)類型需要先定義再使用
2、5結(jié)構(gòu)體的定義結(jié)構(gòu)體的定義自定義的結(jié)自定義的結(jié)構(gòu)體類型名構(gòu)體類型名結(jié)構(gòu)體類型中結(jié)構(gòu)體類型中成員的名字成員的名字struct是結(jié)構(gòu)是結(jié)構(gòu)體類型的標(biāo)識(shí)體類型的標(biāo)識(shí)分號(hào)不能缺!分號(hào)不能缺! struct 結(jié)構(gòu)體名 類型標(biāo)識(shí)符1 成員名1; 類型標(biāo)識(shí)符n 成員名n; ;結(jié)構(gòu)體的定義格式:結(jié)構(gòu)體的定義格式:6登機(jī)乘客信息管理登機(jī)乘客信息管理NoNameAgeSexWeightLuggageMeal1David21M89.9495.2A2Kate14F54.2376.3B3John70M74.2469.6B4Mary46F62.7412.7A編號(hào)姓名年齡性別體重行李重量所選套餐登機(jī)乘客信息7例例1:1:定
3、義結(jié)構(gòu)體定義結(jié)構(gòu)體struct passenger int no; char name20; int age; char sex; float weight; float luggage; char meal;編號(hào)姓名年齡性別體重行李重量所選套餐8結(jié)構(gòu)體變量結(jié)構(gòu)體變量l結(jié)構(gòu)體變量結(jié)構(gòu)體變量為自定義結(jié)構(gòu)體數(shù)據(jù)類型的變量定義結(jié)構(gòu)體類型變量時(shí)開辟內(nèi)存空間在內(nèi)存所占的存儲(chǔ)空間等于各成員存儲(chǔ)空間的總和結(jié)構(gòu)體變量定義方式1.先定義結(jié)構(gòu)體類型再定義變量名2.在定義結(jié)構(gòu)體類型的同時(shí)定義變量名3.不定義結(jié)構(gòu)體類型名,只定義結(jié)構(gòu)體變量名1. 先定義結(jié)構(gòu)體類型再定義變量名結(jié)構(gòu)體變量的定義結(jié)構(gòu)體變量的定義struct
4、 student student1, student2;結(jié)構(gòu)體類型名結(jié)構(gòu)體類型名變量變量1 1變量變量2 2struct student int num; char name20; char sex; int age; float score; char addr30;先定義結(jié)構(gòu)先定義結(jié)構(gòu)體類型體類型例例1struct 結(jié)構(gòu)體名結(jié)構(gòu)體名 成員列表成員列表; 結(jié)構(gòu)體名結(jié)構(gòu)體名 變量名列表變量名列表struct date int day; int month; int year; ; struct student char name20; struct date birthday; struct
5、student stu;結(jié)構(gòu)體變量的定義方法結(jié)構(gòu)體變量的定義方法一個(gè)結(jié)構(gòu)體中一個(gè)結(jié)構(gòu)體中可包含其他結(jié)可包含其他結(jié)構(gòu)體的變量!構(gòu)體的變量!1. 先定義結(jié)構(gòu)體類型再定義變量名例例2 # define STUDENT struct student STUDENT int num; char name20; char sex; char addr30; ; STUDENT student1, student2;結(jié)構(gòu)體變量的定義方法結(jié)構(gòu)體變量的定義方法1. 先定義結(jié)構(gòu)體類型再定義變量名例例3利用宏簡(jiǎn)化程序!利用宏簡(jiǎn)化程序!凡是凡是STUDENT的地方都用的地方都用struct student機(jī)械替換機(jī)械
6、替換 struct student int num; char name20; char sex; int age; float score; char addr30; student1, student2;結(jié)構(gòu)體變量的定義方法結(jié)構(gòu)體變量的定義方法2.在定義結(jié)構(gòu)體類型的同時(shí)定義變量名例例1 struct 結(jié)構(gòu)體名結(jié)構(gòu)體名 成員列表成員列表 變量名列表變量名列表; 在定義結(jié)構(gòu)體類型在定義結(jié)構(gòu)體類型的同時(shí)定義變量的同時(shí)定義變量struct int num; char name20; char sex; int age; float score; char addr30; student1, stu
7、dent2;結(jié)構(gòu)體變量的定義方法結(jié)構(gòu)體變量的定義方法3.不定義結(jié)構(gòu)體類型名,只定義結(jié)構(gòu)體變量名例例1 struct 成員列表成員列表 變量名列表;變量名列表; 不出現(xiàn)結(jié)構(gòu)體名不出現(xiàn)結(jié)構(gòu)體名結(jié)構(gòu)體變量定義結(jié)構(gòu)體變量定義l結(jié)構(gòu)體變量變量的定義例15void main(void) struct date int year, month, day; today; coutsizeof(struct date)endl; 12定義結(jié)構(gòu)體類型變量時(shí)開辟內(nèi)存空間結(jié)構(gòu)體變量的初始化結(jié)構(gòu)體變量的初始化l直接在結(jié)構(gòu)體變量之后通過(guò)賦值語(yǔ)句完成初始化void main(void) struct student lon
8、g int num; char name20; char sex; char addr30; student1=901031, “Li Lin”, M, “123 Beijing Road”;student1;cinstudent1.num; student1.num=100;錯(cuò)誤錯(cuò)誤必須用成員名引用必須用成員名引用結(jié)構(gòu)體變量的使用結(jié)構(gòu)體變量的使用l使用結(jié)構(gòu)體變量成員格式嵌套的結(jié)構(gòu)體變量必須逐層引用。18student1.student1.birthday.birthday.dayday=25;=25;如果結(jié)構(gòu)體變量的成員本身又是一個(gè)結(jié)構(gòu)體如果結(jié)構(gòu)體變量的成員
9、本身又是一個(gè)結(jié)構(gòu)體類型,則要用若干個(gè)成員運(yùn)算符,由外向內(nèi)類型,則要用若干個(gè)成員運(yùn)算符,由外向內(nèi)逐層找到最內(nèi)層的一級(jí)成員,而且只能對(duì)最逐層找到最內(nèi)層的一級(jí)成員,而且只能對(duì)最內(nèi)層的成員進(jìn)行訪問。內(nèi)層的成員進(jìn)行訪問。結(jié)構(gòu)體變量的使用結(jié)構(gòu)體變量的使用l使用結(jié)構(gòu)體變量成員格式結(jié)構(gòu)體變量中的成員可以同一般變量一樣進(jìn)行運(yùn)算。19結(jié)構(gòu)體變量的成員同普通變量一樣,都可以結(jié)構(gòu)體變量的成員同普通變量一樣,都可以進(jìn)行同類型普通變量所允許的各種運(yùn)算。進(jìn)行同類型普通變量所允許的各種運(yùn)算。student1.birthday.day+; student1.score+=60;例:例:#include stdafx.h#inc
10、lude using namespace std;struct date int day; int month; int year;struct student int num; char name20; char sex; int age; struct date birthday;20int main(int argc, char* argv) struct student stu; coutstu.num; ; coutstu.sex; coutstu.birthday.year; coutstu.birthday.month; coutstu.birthday.
11、day; coutNo.: stu.numendl; coutName:endl; coutSex:stu.sexendl; return 0;結(jié)構(gòu)體數(shù)組結(jié)構(gòu)體數(shù)組l結(jié)構(gòu)體數(shù)組定義結(jié)構(gòu)體數(shù)組結(jié)構(gòu)體數(shù)組:結(jié)構(gòu)體數(shù)組中的每個(gè)元素都是一個(gè)結(jié)構(gòu)體類型的變量,其中包括該類型的各個(gè)成員。數(shù)組各元素在內(nèi)存中連續(xù)存放。struct student 成員列表; ; student std5;21結(jié)構(gòu)體數(shù)組結(jié)構(gòu)體數(shù)組22struct student int num; char name20; char sex; int age; float score; char addr30; ;struct
12、student stu30;struct student int num; char name20; char sex; int age; float score; char addr30; stu30;直接定義直接定義結(jié)構(gòu)體數(shù)組結(jié)構(gòu)體數(shù)組l結(jié)構(gòu)體數(shù)組初始化與數(shù)值型數(shù)組的初始化方式類似,只需將數(shù)組的各個(gè)元素用花括號(hào)分隔開。23struct student int num; char name20; char sex; stu3= 1011, Li Lin,M, 1012,Wang Lan,F, 1013,Liu Fang,F;結(jié)構(gòu)體數(shù)組結(jié)構(gòu)體數(shù)組l結(jié)構(gòu)體數(shù)組的使用 結(jié)構(gòu)體數(shù)組的引用與普通數(shù)組類
13、似,同樣通過(guò)下標(biāo)來(lái)訪問。數(shù)組元素是結(jié)構(gòu)體類型,所以只能對(duì)成員進(jìn)行訪問。24結(jié)構(gòu)體數(shù)組名下標(biāo).成員名例:結(jié)構(gòu)體變量的定義例:結(jié)構(gòu)體變量的定義struct passenger person1, person2, person3, person4;struct passenger person4;變量名變量類型用數(shù)組替代具體變量用數(shù)組替代具體變量25例例3 3:結(jié)構(gòu)體變量的初始化:結(jié)構(gòu)體變量的初始化struct passenger person4= 1, “David”, 21, M, 89.9, 495.2, A, 2, “Kate”, 14, F, 54.2, 376.3, B, 3, “Joh
14、n”, 70, M, 74.2, 469.6, B, 4, “Mary”, 46, F, 62.7, 412.7, A; ;26例:例:27struct person char name9; int age; ;struct person bme10= “Jone”,17, “Paul”,19, “Mary”,18, “Adam”,16 ;A) endl;B) 1endl;C) 1endl;D) 0endl;輸出:輸出:Adam輸出:輸出:d輸出:輸出:a輸出:輸出:M結(jié)構(gòu)體變量的使用結(jié)構(gòu)體
15、變量的使用for(i=0, select_B=0; i4; i+) if(personi.meal=B) select_B+; endl;cout“The total is”select_B結(jié)構(gòu)體成員名 (*結(jié)構(gòu)體指針變量名).結(jié)構(gòu)體成員名例如:student stu; student *p=&stu; cout num (*p).num;31必須加圓括號(hào),因?yàn)楸仨毤訄A括號(hào),因?yàn)椤?”運(yùn)算符優(yōu)先級(jí)更高運(yùn)算符優(yōu)先級(jí)更高。例:例: #include using namespace std; struct student long num; char name
16、20; int age; ; /定義結(jié)構(gòu)體定義結(jié)構(gòu)體32void main() student a=20418132,ZhaoGang,23; student *p; /定義結(jié)構(gòu)體指針變量定義結(jié)構(gòu)體指針變量 p=&a; /給結(jié)構(gòu)體指針變量賦值給結(jié)構(gòu)體指針變量賦值 couta.num ; couta.ageendl; cout(*p).num (*p).name ; cout(*p).ageendl; coutnum name ; coutage endl;第第7講講 結(jié)構(gòu)體與共用體結(jié)構(gòu)體與共用體337.1 結(jié)構(gòu)體7.2 共用體7.2 共用體共用體6.2.1 結(jié)構(gòu)體與共用體
17、變量的定義6.2.2 共用體變量的使用6.2.3 共用體與指針347.2.1 共用體與共用體變量定義共用體與共用體變量定義l共用體類型定義格式union 共用體類型名共用體類型名 類型標(biāo)識(shí)符類型標(biāo)識(shí)符1 成員名成員名1; 類型標(biāo)識(shí)符類型標(biāo)識(shí)符n 成員名成員名n;35共用體類型定義的標(biāo)識(shí)符共用體類型定義的標(biāo)識(shí)符7.2.1 共用體與共用體變量定義共用體與共用體變量定義l共用體類型定義格式union data char a; int b; float c; ;367.2.1 共用體與共用體變量定義共用體與共用體變量定義l所謂“共用”是指多種不同數(shù)據(jù)類型的變量從同一地址開始存放,共同占用同一段內(nèi)存單元
18、。l但是在某一時(shí)刻有且僅有一個(gè)變量占用這一段內(nèi)存單元。l這種由不同類型的數(shù)據(jù)共用同一段內(nèi)存單元的用戶自定義類型成為共用體。377.2.1 共用體與共用體變量定義共用體與共用體變量定義l可以把一個(gè)char型變量a,一個(gè)short型變量b和一個(gè)long型變量c存放在起始地址為2000的同一段內(nèi)存單元中。382000abc7.2 共用體共用體7.2.1 結(jié)構(gòu)體與共用體變量的定義7.2.2 共用體變量的使用7.2.3 共用體與指針39共用體變量的使用共用體變量的使用l共用體變量的使用不能對(duì)共用體變量初始化和賦值 40union data char a; int b; float c; u1=A, 25
19、, 3.5; /錯(cuò)誤的! u1.a /只能直接使用變量中的成員 u1.b u1.c共用體變量的使用共用體變量的使用l共用體變量的使用不能對(duì)共用體變量初始化和賦值 41 共用體變量雖然可以存放幾種不同類型的成員,但在同一時(shí)刻只能有一個(gè)成員起作用,其它成員不起作用。 共用體變量中起作用的成員是最后一次存放的成員。共用體變量的使用共用體變量的使用42union un int i; double y;struct st char a10; union un b;coutsizeof(struct st)endl;1843void main(void) union EXAMPLE struct int x, int y; in; int a,b; e; e.a=1; e.b=2; e.in.x=e.a*e.a; e.in.y=e.b+e.b; coute.in.xte.in.yendl;inxyabb1 2 48輸出:輸出:4 8共用體共用體7.2.1 結(jié)構(gòu)體與共用體變量的定義7.2.2 共用體變量的使用7.2.3 共用體與指針447.2 共用體共用體l共用體與指針共用體指針變量的定義與對(duì)共用體的引用形式與結(jié)構(gòu)體類似。45#include using namespace
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 物聯(lián)網(wǎng)技術(shù)在職教實(shí)訓(xùn)室的應(yīng)用前景
- 現(xiàn)代物流配送體系的智能化升級(jí)路徑
- 2024年學(xué)年八年級(jí)語(yǔ)文上冊(cè) 第一單元 愛在人間 第3課《蘆花蕩》說(shuō)課稿 滬教版五四制
- 2024年四年級(jí)英語(yǔ)下冊(cè) Unit 5 What will you do this weekend Lesson 25說(shuō)課稿 人教精通版(三起)
- Unit 1 Greetings(說(shuō)課稿)-2024-2025學(xué)年滬教版(五四制)(2024)英語(yǔ)一年級(jí)上冊(cè)
- 2023二年級(jí)數(shù)學(xué)下冊(cè) 7 萬(wàn)以內(nèi)數(shù)的認(rèn)識(shí)第2課時(shí) 1000以內(nèi)數(shù)的認(rèn)識(shí)(2)說(shuō)課稿 新人教版
- Unit 3 Food Let's Spell(說(shuō)課稿)-2024-2025學(xué)年人教新起點(diǎn)版英語(yǔ)三年級(jí)上冊(cè)
- 2024-2025學(xué)年高一地理《宇宙中的地球》說(shuō)課稿
- 2023六年級(jí)數(shù)學(xué)上冊(cè) 八 探索樂園單元概述和課時(shí)安排說(shuō)課稿 冀教版
- 2024-2025學(xué)年高中歷史 專題4 雅爾塔體制下的冷戰(zhàn)與和平 3 人類對(duì)和平的追求說(shuō)課稿(含解析)人民版選修3
- 蘇東坡詞十首
- 山東省臨沂市2024年中考物理真題
- 2023年天津市文化和旅游局直屬事業(yè)單位招聘考試真題及答案
- 電力系統(tǒng)分析(郝亮亮)
- 改善護(hù)理服務(wù)行動(dòng)計(jì)劃方案
- 建筑材料包銷協(xié)議書
- 常州市2023-2024學(xué)年八年級(jí)上學(xué)期期末地理試卷(含答案解析)
- 道路安全教育課件
- 《工程款糾紛》課件
- 2023年浙江省衢州市中考語(yǔ)文試題(含答案解析)
- 農(nóng)業(yè)與農(nóng)作物種植
評(píng)論
0/150
提交評(píng)論