10.2.1 結(jié)構(gòu)體指針_第1頁
10.2.1 結(jié)構(gòu)體指針_第2頁
10.2.1 結(jié)構(gòu)體指針_第3頁
10.2.1 結(jié)構(gòu)體指針_第4頁
10.2.1 結(jié)構(gòu)體指針_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、LOGOLOGO掌握結(jié)構(gòu)體指針變量的定義及引用Teacher teaching designCONTENTS 目 錄結(jié)構(gòu)體指針的定義結(jié)構(gòu)體指針的使用結(jié)構(gòu)體數(shù)組的指針 結(jié)構(gòu)體指針變量的定義PART 01struct stu int num; char *name; char sex; float score;stud;struct stu *pstu;舉例感知struct 結(jié)構(gòu)名 *結(jié)構(gòu)指針變量名說明:要定義結(jié)構(gòu)體指針變量,首先定義好結(jié)構(gòu)體類型。結(jié)構(gòu)指針變量說明的一般形式:結(jié)構(gòu)指針變量的定義 一個(gè)指針變量當(dāng)用來指向一個(gè)結(jié)構(gòu)變量時(shí),稱之為結(jié)構(gòu)指針變量。 結(jié)構(gòu)指針變量中的值是所指向的結(jié)構(gòu)變量的首地址

2、。(1)結(jié)構(gòu)指針變量也必須要先賦值后才能使用。注意添加標(biāo)題內(nèi)容(2)賦值是把結(jié)構(gòu)變量的首地址賦予該指針變量,不能把結(jié)構(gòu)體名賦予該指針變量。結(jié)構(gòu)指針變量的定義(3)結(jié)構(gòu)體名和結(jié)構(gòu)變量是兩個(gè)不同的概念,不能混淆。結(jié)構(gòu)體名只能表示一個(gè)結(jié)構(gòu)形式,編譯系統(tǒng)并不對(duì)它分配內(nèi)存空間。只有當(dāng)某變量被說明為這種類型的結(jié)構(gòu)時(shí),才對(duì)該變量分配存儲(chǔ)空間。結(jié)構(gòu)體指針變量的使用PART 02=& ;賦值形式:例如:pstu=&stud ;結(jié)構(gòu)體指針變量的賦值(*pstu)兩側(cè)的括號(hào)不可少,因?yàn)槌蓡T符“.”的優(yōu)先級(jí)高于“*”。如去掉括號(hào)寫作*pstu.num則等效于*(pstu.num),這樣,意義就是從pstu結(jié)構(gòu)體變量的

3、成員num保存的地址中獲取數(shù)據(jù),其意義完全不同。例如2(*pstu).num或者: pstu-num注意3(*結(jié)構(gòu)指針變量).成員名或?yàn)椋航Y(jié)構(gòu)指針變量-成員名引用的一般形式為:1結(jié)構(gòu)體指針變量的使用struct stu int num; char *name; char sex; float score; boy1=102,Zhangping,M,78.5,*pstu;main()pstu=&boy1;printf(Number=%dnName=%sn,boy1.num,); printf(Sex=%cnScore=%fnn,boy1.sex,boy1.score);prin

4、tf(Number=%dnName=%sn,(*pstu).num,(*pstu).name); printf(Sex=%cnScore=%fnn,(*pstu).sex,(*pstu).score);printf(Number=%dnName=%sn,pstu-num,pstu-name);printf(Sex=%cnScore=%fnn,pstu-sex,pstu-score);(1) 結(jié)構(gòu)變量.成員名(2) (*結(jié)構(gòu)指針變量).成員名(3) 結(jié)構(gòu)指針變量-成員名這三種用于表示結(jié)構(gòu)成員的形式是完全等效的。從運(yùn)行結(jié)果可以看出:結(jié)構(gòu)體指針使用舉例結(jié)構(gòu)體數(shù)組的指針PART 03設(shè)ps為指向結(jié)構(gòu)體

5、數(shù)組的指針變量,則ps也指向該結(jié)構(gòu)體數(shù)組的0號(hào)元素,ps+1指向1號(hào)元素,ps+i則指向i號(hào)元素。感知舉例指向結(jié)構(gòu)體的指針變量是以結(jié)構(gòu)體成員所占的字節(jié)數(shù)為基本的移動(dòng)單位。知識(shí)升華指針變量可以指向一個(gè)結(jié)構(gòu)體數(shù)組,這時(shí)結(jié)構(gòu)指針變量的值是整個(gè)結(jié)構(gòu)體數(shù)組的首地址。指向結(jié)構(gòu)體數(shù)組結(jié)構(gòu)體指針變量也可指向結(jié)構(gòu)體數(shù)組的一個(gè)元素,這時(shí)結(jié)構(gòu)指針變量的值是該結(jié)構(gòu)體數(shù)組元素的首地址。指向結(jié)構(gòu)體數(shù)組某個(gè)元素結(jié)構(gòu)體數(shù)組的指針struct stu int num; char *name; char sex; float score;boy5= 101,Zhou ping,M,45,102,Zhang ping,M,62.5

6、, 103,Liou fang,F,92.5,104,Cheng ling,F,87, 105,Wang ming,M,58, ;main() struct stu *ps; printf(NotNametttSextScoretn); for(ps=boy;psnum,ps-name,ps-sex,ps-score);用指針變量輸出結(jié)構(gòu)數(shù)組元素值。結(jié)構(gòu)體數(shù)組指針應(yīng)用舉例在程序中,定義了stu結(jié)構(gòu)類型的外部數(shù)組boy并作了初始化賦值。在main函數(shù)內(nèi)定義ps為指向stu類型的指針。在循環(huán)語句for的表達(dá)式1中,ps被賦予boy的首地址,然后循環(huán)5次,輸出boy數(shù)組中各成員值。說明一個(gè)結(jié)構(gòu)指針變量雖然可以用來訪問結(jié)構(gòu)變量或結(jié)構(gòu)數(shù)組元素的成員,但是,不能使它指向一個(gè)成員。

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論