




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
6.1結(jié)構(gòu)體數(shù)據(jù)類型1.結(jié)構(gòu)體類型的定義2.結(jié)構(gòu)體變量的定義3.結(jié)構(gòu)體變量的初始化4.結(jié)構(gòu)體變量成員的引用structstudent{longno;charname[15];charsex;intage;floatscore;};在這個(gè)結(jié)構(gòu)體定義中,student為結(jié)構(gòu)體名,no、name、sex、age和score為該結(jié)構(gòu)的5個(gè)成員。其中no為長整型變量;name為字符數(shù)組;sex為字符變量;age為整型變量;score為實(shí)型變量。一般情況下,結(jié)構(gòu)體名稱用有一定意義的單詞或單詞的縮寫組合作為結(jié)構(gòu)體的名稱。結(jié)構(gòu)體是一個(gè)整體,因此結(jié)構(gòu)體中的每個(gè)成員不能脫離結(jié)構(gòu)體單獨(dú)使用。
1第6章結(jié)構(gòu)類型6.1結(jié)構(gòu)體數(shù)據(jù)類型2.結(jié)構(gòu)體變量的定義1.結(jié)構(gòu)體類型的定義3.結(jié)構(gòu)體變量的初始化4.結(jié)構(gòu)體變量成員的引用2.在定義結(jié)構(gòu)體類型的同時(shí)定義結(jié)構(gòu)體變量。例如:structstudent{longno;charname[15];charsex;intage;floatscore;}stu1,stu2;2第6章結(jié)構(gòu)類型6.1結(jié)構(gòu)體數(shù)據(jù)類型2.結(jié)構(gòu)體變量的定義1.結(jié)構(gòu)體類型的定義3.結(jié)構(gòu)體變量的初始化4.結(jié)構(gòu)體變量成員的引用3.直接定義結(jié)構(gòu)體類型的變量。例如:struct{longno;charname[15];charsex;intage;floatscore;}stu1,stu2;3第6章結(jié)構(gòu)類型6.1結(jié)構(gòu)體數(shù)據(jù)類型3.結(jié)構(gòu)體變量的初始化1.結(jié)構(gòu)體類型的定義2.結(jié)構(gòu)體變量的定義4.結(jié)構(gòu)體變量成員的引用【例6-1】外部結(jié)構(gòu)體變量初始化#include<stdio.h>structstudent/*結(jié)構(gòu)體定義*/{longno;charname[15];charsex;intage;floatscore;}stu1;structstudentstu1={20080001,"ZhangJun",'M',21,87.5};voidmain(){printf("No.=%ld\nName=%s\n",stu1.no,);printf("Sex=%c\nAge=%d\nScore=%f\n",stu1.sex,stu1.age,stu1.score);}
4第6章結(jié)構(gòu)類型6.1結(jié)構(gòu)體數(shù)據(jù)類型4.結(jié)構(gòu)體變量成員的引用1.結(jié)構(gòu)體類型的定義2.結(jié)構(gòu)體變量的定義3.結(jié)構(gòu)體變量的初始化定義了結(jié)構(gòu)體變量以后,就可以引用這個(gè)變量,在程序中使用結(jié)構(gòu)變量時(shí),往往不把它作為一個(gè)整體來使用。對結(jié)構(gòu)變量的使用,包括賦值、輸入、輸出、運(yùn)算等都是通過結(jié)構(gòu)變量的成員來實(shí)現(xiàn)的。表示結(jié)構(gòu)變量成員的一般形式是:<結(jié)構(gòu)變量名>.<成員名>例如:stu1.no/*學(xué)生的學(xué)號(hào)*//*學(xué)生的姓名*/其中‘.’是成員運(yùn)算符,它在所有的運(yùn)算符中優(yōu)先級最高。如果成員本身又是一個(gè)結(jié)構(gòu)體類型,則應(yīng)該用若干個(gè)‘.’一級一級地找到最低級的成員。例如:stu1.birthday.yearstu1.birthday.monthstu1.birthday.day不能將一個(gè)結(jié)構(gòu)體變量作為一個(gè)整體加以引用,例如已定義了結(jié)構(gòu)體變量stu1,并且進(jìn)行了初始化。
5第6章結(jié)構(gòu)類型6.1結(jié)構(gòu)體數(shù)據(jù)類型4.結(jié)構(gòu)體變量成員的引用1.結(jié)構(gòu)體類型的定義2.結(jié)構(gòu)體變量的定義3.結(jié)構(gòu)體變量的初始化【例6-3】結(jié)構(gòu)體變量的引用#include<stdio.h>voidmain(){structdate{intyear;intmonth;intday;};structstudent{longno;charname[15];charsex;intage;structdatebirthday;floatscore;}stu2,stu1={20080001,"ZhangJun",'M',21,1987,3,19,87.5};stu2=stu1;stu2.age++;printf("No.=%ld\nName=%s\n",stu2.no,);printf("Birthday=%d-%d-%d\n",stu2.birthday.year,stu2.birthday.month,stu2.birthday.day);printf("Sex=%c\nAge=%d\nScore=%.2f\n",stu2.sex,stu2.age,stu2.score);}
6第6章結(jié)構(gòu)類型6.2結(jié)構(gòu)體與數(shù)組1.結(jié)構(gòu)體數(shù)組的定義2.結(jié)構(gòu)體數(shù)組的初始化3.結(jié)構(gòu)體數(shù)組的引用結(jié)構(gòu)體數(shù)組的定義方法和結(jié)構(gòu)體變量的定義方法相同,可以采用三種方法定義結(jié)構(gòu)體數(shù)組,本節(jié)以第二種方法為例。例如:structstudent{longno;charname[15];charsex;intage;floatscore;char*address;}stu[5];定義了一個(gè)結(jié)構(gòu)數(shù)組stu,數(shù)組中包含5個(gè)元素,stu[0]~stu[4]。每個(gè)數(shù)組元素都是一個(gè)結(jié)構(gòu)體變量。
7第6章結(jié)構(gòu)類型6.2結(jié)構(gòu)體與數(shù)組2.結(jié)構(gòu)體數(shù)組的引用1.結(jié)構(gòu)體數(shù)組的定義3.結(jié)構(gòu)體數(shù)組的初始化【例6-4】計(jì)算學(xué)生的平均成績#include<stdio.h>structstudent{longno;charname[15];charsex;intage;floatscore;char*address;}stu[5]={{20080001,"Liuping",'F',20,85.0,"Beijing"}, {20080002,"Zhangbin",'M',21,72.0,"Anshan"}, {20080003,"Hanfeng",'M',21,96.5,"Hefei"}, {20080004,"zengli",'F',21,67.0,"Dalian"}, {20080005,"Wangmin",'F',20,57.5,"Tianjin"}};8第6章結(jié)構(gòu)類型6.2結(jié)構(gòu)體與數(shù)組2.結(jié)構(gòu)體數(shù)組的引用1.結(jié)構(gòu)體數(shù)組的定義3.結(jié)構(gòu)體數(shù)組的初始化【例6-5】計(jì)算學(xué)生的平均成績voidmain(){inti;floatave,sum=0;for(i=0;i<5;i++){sum=sum+stu[i].score;}ave=sum/5;printf("Average=%.2f\n",ave);}
9第6章結(jié)構(gòu)類型6.3結(jié)構(gòu)體與指針1.指向結(jié)構(gòu)體變量的指針2.指向結(jié)構(gòu)體數(shù)組的指針指向一個(gè)結(jié)構(gòu)體變量的指針變量稱之為結(jié)構(gòu)體指針變量。一個(gè)結(jié)構(gòu)體變量的指針是該變量所占內(nèi)存空間的首地址。通過結(jié)構(gòu)體指針即可訪問該結(jié)構(gòu)體變量。結(jié)構(gòu)體指針變量定義的一般形式為:
struct結(jié)構(gòu)體名*結(jié)構(gòu)體指針變量名例如:structstudent{longno;charname[15];charsex;intage;floatscore;char*address;}stu1,stu2;structstudent*pstu;結(jié)構(gòu)體指針變量先賦值后才能使用。賦值是把結(jié)構(gòu)體變量的首地址賦予該指針變量。
10第6章結(jié)構(gòu)類型6.3結(jié)構(gòu)體與指針指針變量可以指向一個(gè)結(jié)構(gòu)體變量,同樣指針變量也可以指向一個(gè)結(jié)構(gòu)體數(shù)組,此時(shí)結(jié)構(gòu)體指針變量的值是整個(gè)結(jié)構(gòu)數(shù)組的首地址。通過結(jié)構(gòu)體指針變量的移動(dòng)可以指向結(jié)構(gòu)體數(shù)組的任意一個(gè)元素。
【例6-8】用指針變量輸出結(jié)構(gòu)體數(shù)組。#include<stdio.h>structstudent{longno;charname[15];charsex;intage;floatscore;char*address;}stu[5]={{20080001,"Liuping",'F',20,85.0,"Beijing"}, {20080002,"Zhangbin",'M',21,72.0,"Anshan"}, {20080003,"Hanfeng",'M',21,96.5,"Hefei"}, {20080004,"zengli",'F',21,67.0,"Dalian"}, {20080005,"Wangmin",'F',20,57.5,"Tianjin"}};2.指向結(jié)構(gòu)體數(shù)組的指針1.指向結(jié)構(gòu)體變量的指針11第6章結(jié)構(gòu)類型6.3結(jié)構(gòu)體與指針voidmain(){structstudent*pstu;clrscr();printf("No.\t\tName\t\tSex\tAge\tScore\t\tAddress\n");f
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度辦公用品銷售折扣及定制服務(wù)合同
- 二零二五年度燃料研發(fā)與專利許可合同
- 二零二五年度股權(quán)代持合同:包含企業(yè)資產(chǎn)重組的綜合性協(xié)議
- 2025年度環(huán)保設(shè)施勞務(wù)分包安全責(zé)任協(xié)議
- 二零二五年度頂管施工安全教育與應(yīng)急預(yù)案制定合同
- 二零二五年度合資企業(yè)股份代持與清算協(xié)議
- 二零二五年度特色餐飲服務(wù)人員勞動(dòng)合同范本
- 二零二五年度地質(zhì)鉆孔施工環(huán)境保護(hù)協(xié)議
- 二零二五年度集體勞動(dòng)合同在民營企業(yè)中的創(chuàng)新
- 二零二五年度企業(yè)產(chǎn)品售后服務(wù)宣傳片委托協(xié)議
- 【獨(dú)立儲(chǔ)能】山西省獨(dú)立儲(chǔ)能政策及收益分析-中國能建
- 2024內(nèi)蒙古中考數(shù)學(xué)二輪專題復(fù)習(xí) 二次函數(shù)與幾何綜合題 類型二 面積問題(課件)
- DL-T5796-2019水電工程邊坡安全監(jiān)測技術(shù)規(guī)范
- 高等數(shù)學(xué)教案第四章不定積分
- 2024年高考時(shí)事政治考試題庫(134題)
- 安全生產(chǎn)責(zé)任制考試試卷及答案
- 擠壓模具拋光培訓(xùn)課件
- 大學(xué)生寒假回訪母校社會(huì)實(shí)踐報(bào)告
- 2023年跨境電商年度總結(jié)報(bào)告
- 水磨鉆成本分析
- 2023-2024學(xué)年外研版(三起)英語六年級下冊期末測試卷含答案
評論
0/150
提交評論