《結(jié)構(gòu)體與指針》PPT課件

《結(jié)構(gòu)體與指針》PPT課件

ID:41284165

大小:2.49 MB

頁數(shù):49頁

時間:2019-08-21

《結(jié)構(gòu)體與指針》PPT課件_第1頁
《結(jié)構(gòu)體與指針》PPT課件_第2頁
《結(jié)構(gòu)體與指針》PPT課件_第3頁
《結(jié)構(gòu)體與指針》PPT課件_第4頁
《結(jié)構(gòu)體與指針》PPT課件_第5頁
資源描述:

《《結(jié)構(gòu)體與指針》PPT課件》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。

1、復(fù)習(xí):(1)結(jié)構(gòu)體變量的定義與引用(2)結(jié)構(gòu)體數(shù)組新內(nèi)容:(1)指向結(jié)構(gòu)體變量的指針(2)指向結(jié)構(gòu)體數(shù)組的指針(3)結(jié)構(gòu)體指針作為函數(shù)參數(shù)(4)用指針處理鏈表第7講結(jié)構(gòu)體與指針1復(fù)習(xí):結(jié)構(gòu)體變量的定義與引用注意不要忘了分號成員列表結(jié)構(gòu)體類型定義形式:struct結(jié)構(gòu)體類型名{數(shù)據(jù)類型成員名1;數(shù)據(jù)類型成員名2;::數(shù)據(jù)類型成員名n;};關(guān)鍵字用戶定義的標(biāo)識符22.定義結(jié)構(gòu)體類型同時定義變量structstudent{charname[10];intage;ints1,s2;}st1,st2;1.先定義結(jié)構(gòu)體類型,再定義變量structstudent{ch

2、arname[10];intage;ints1,s2;};structstudentst1,st2;復(fù)習(xí):結(jié)構(gòu)體變量的定義與引用結(jié)構(gòu)體變量的定義結(jié)構(gòu)體類型定義結(jié)構(gòu)體變量定義結(jié)構(gòu)體變量占用的字節(jié)數(shù)可用sizeof運(yùn)算符算出printf(“%d”,sizeof(structstudent));printf(“%d”,sizeof(st1));3復(fù)習(xí):結(jié)構(gòu)體變量的定義與引用例:structdate{intyear;intmonth;intday;};structstud{charname[10];structdatebirthday;ints1,s2;

3、};結(jié)構(gòu)體類型可以嵌套定義或:structstud{charname[10];structdate{intyear;intmonth;intday;}birthday;ints1,s2;};4復(fù)習(xí):結(jié)構(gòu)體變量的定義與引用應(yīng)用typedef定義結(jié)構(gòu)體類型structstudent{charname[10];intage;ints1,s2;};structstudentst1,st2;typedefstructstudent{charname[10];intage;ints1,s2;}SD;SDst1,st2;優(yōu)點(diǎn):書寫簡單,使程序具有更好的移植性5復(fù)習(xí):結(jié)

4、構(gòu)體變量的定義與引用引用結(jié)構(gòu)體變量中的成員(點(diǎn)記法)格式:結(jié)構(gòu)體變量名.成員名structstudent{charname[10];intage;ints1,s2;}st1,st2;strcpy(st1.name,“Mary”);st1.age=21;scanf(“%d%d”,&st1.s1,&st1.s2);相同類型的結(jié)構(gòu)體變量可以進(jìn)行整體賦值只能對結(jié)構(gòu)體變量的成員進(jìn)行輸入和輸出st2=st1;611.6.1指向結(jié)構(gòu)體數(shù)據(jù)的指針定義指向結(jié)構(gòu)體變量的指針typedefstructstudent{charname[20];intage;ints1,s2;}

5、SD;SDx,stu,*p;p=&stu;成員的引用格式(1)結(jié)構(gòu)體變量名.成員名stu.name例:scanf(“%s”,x.name);scanf(“%d”,&x.age);x.s1=89;x.s2=78;gets(stu.name);(*p).age=21;scanf(“%d”,&p->s1);p->s2=90;(2)(*指針變量名).成員名(*p).age(3)指針變量名->成員名p->s17賦值語句p=&student;指針變量p指向結(jié)構(gòu)體變量student引用結(jié)構(gòu)體中的成員變量:(*p).成員名或p->成員名相當(dāng)于student.成員名pst

6、udent8說明:和成員運(yùn)算符一樣,“->”為指向運(yùn)算符,是運(yùn)算優(yōu)先級最高的運(yùn)算符。由于成員運(yùn)算符“.”的運(yùn)算優(yōu)先級高于運(yùn)算符“*”,因此(*p).成員名中()不能少。*p.成員名p=&student.score;不能用指向某個結(jié)構(gòu)體變量的指針指向該結(jié)構(gòu)體變量的某個成員。9對結(jié)構(gòu)體數(shù)組及其元素可以用指針來指向例如:structstruct_name{charname[10];intnum;floatscore;};/*定義結(jié)構(gòu)體類型標(biāo)識符*/structstruct_namestd[30],*p;11.6.1指向結(jié)構(gòu)體數(shù)組的指針10900390趙明879

7、002王建899001李紅結(jié)構(gòu)體數(shù)組stdstd[0]std[1]std[2]p賦值語句p=std;/*p指向一個結(jié)構(gòu)體數(shù)組std*//*指針變量p存放的是數(shù)組std的首地址*/引用:p->name;p->num;p->score;11趙明909003879002王建899001李紅結(jié)構(gòu)體數(shù)組stdstd[0]std[1]std[2]思考:賦值語句p=std+1;和p++;分別代表指針p指向哪里?p->name;p->num;p->score;代表的信息發(fā)生了什么變化?pp12注意:以下賦值語句都是錯誤的:p=&std[1].score;(不能指向數(shù)組元

8、素的成員變量)p=&std;(數(shù)組名本身就代表該數(shù)組的首地址,因此不能使用地址運(yùn)

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

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

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