




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
結(jié)構(gòu)體數(shù)組及指針結(jié)構(gòu)體和共同體結(jié)構(gòu)體數(shù)組可以定義結(jié)構(gòu)體數(shù)組來存放批量數(shù)據(jù)struct
student{intnum;charname[20];charsex;intage;};structstudentstu[2];numnamesexagenumnamesexagestu[0]stu[1]29字節(jié)定義形式一:結(jié)構(gòu)體數(shù)組定義形式二:形式二:直接定義struct
student{intnum;charname[20];charsex;intage;}stu[2];形式三:直接定義struct{intnum;charname[20];charsex;intage;
}stu[2];定義形式三:結(jié)構(gòu)體數(shù)組初始化struct結(jié)構(gòu)體類型名結(jié)構(gòu)數(shù)組名[數(shù)組長度]={初始數(shù)據(jù)};struct
student{
int
num;charname[20];charsex;
intage;
}stu[3]={{100,“WangLin”,‘M’,20},
{101,“LiGang”,‘M’,19},
{110,“LiuYan”,‘F’,19}};全部初始化時(shí)長度可省按順序定義時(shí):內(nèi)層括號可以省略結(jié)構(gòu)體數(shù)組元素的引用stu[0].num=1001;strcpy(stu[0].name,“wang”);stu[0].sex=‘F’;成員引用:stu[1]=stu[0];整體引用:指向結(jié)構(gòu)體變量的指針存放結(jié)構(gòu)體變量所占的內(nèi)存空間的首地址定義形式:struct結(jié)構(gòu)體名*結(jié)構(gòu)體指針變量名;numnamesexagestupstructstudent{intnum;charname[20];charsex;intage;}stu;structstudent*p=&stu;例使用結(jié)構(gòu)體指針變量引用成員structstudentstu1;structstudent*p=&stu1;結(jié)構(gòu)體變量名.成員名stu.num
=101;(*結(jié)構(gòu)體指針名).成員名
(*p).num=101;結(jié)構(gòu)體指針名
成員名p
num
=101;指向運(yùn)算符優(yōu)先級:1結(jié)合方向:從左向右()不能少!以下三種形式等價(jià):例指向結(jié)構(gòu)體數(shù)組的指針結(jié)構(gòu)體數(shù)組及其元素可用指針變量來指向數(shù)組首地址賦給指向結(jié)構(gòu)體類型的指針變量時(shí),當(dāng)指針變量增1時(shí),指向下一個(gè)數(shù)組元素指向結(jié)構(gòu)體數(shù)組的指針#include<stdio.h>structstudent{intnum;charname[20];charsex;intage;}stu[3]={{10101,"LiLin",'M',18},{10102,"ZhangFun",'M',19},{10104,"WangMin",'F',20}};voidmain(){structstudent*p;for(p=stu;p<stu+3;p++)printf(“%d%s%c%d\n”,(*p).num,p
name,(*p).sex,p
age);}numnamesexagestu[0]pstu[1]stu[2]p+1例例struct
s{intx;inty;}data[4]={10,100,20,200,30,300,40,400};voidmain(){structs*pointer=data;printf(“%d\n”,++pointer
x);printf(“%d\n”,(++pointer)
y);printf(“%d\n”,(pointer++)
x);printf(“%d\n”,(pointer)
y++);}運(yùn)行結(jié)果:11 20020 300取x值加1后輸出地址加1后再取y值先取x值地址再加1y值輸出后再加1區(qū)分以下運(yùn)算
用結(jié)構(gòu)體變量和指向結(jié)構(gòu)體的指針作函數(shù)參數(shù)用指向結(jié)構(gòu)體變量或數(shù)組的指針作實(shí)參----地址傳遞傳遞的是結(jié)構(gòu)體變量的地址用結(jié)構(gòu)體變量作參數(shù)----值傳遞將結(jié)構(gòu)體變量所占的內(nèi)存單元的內(nèi)容全部順序傳遞給形參,要求形參與實(shí)參同類型。函數(shù)調(diào)用是單值傳遞,且形參占用內(nèi)存單元,若形參的值被改變,不會返回主調(diào)函數(shù)【例1:】結(jié)構(gòu)體變量stu有學(xué)號、姓名和成績,在main函數(shù)中賦值,在print函數(shù)中打印輸出#include<stdio.h>structstudent{intnum;charname[20];floatscore;};voidmain(){voidprint(structstudent);structstudentstu;//定義為局部結(jié)構(gòu)體類型變量scanf("%d%s%f",&stu.num,,&stu.score);
//輸入各成員的值print(stu);//調(diào)用print函數(shù),結(jié)構(gòu)體變量作實(shí)參}voidprint(structstudentstu){printf("%d%s%f\n",stu.num,,stu.score);}無"&"【例2:】改用結(jié)構(gòu)體變量的指針作實(shí)參#include<stdio.h>structstudent{intnum;charname[20];floatscore;};voidmain(){voidprint(structstudent*);structstudentstu;//定義為局部結(jié)構(gòu)體類型變量scanf("%d%s%f",&stu.num,,&stu.score);
//輸入各成員的值print(&stu
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 生物化學(xué)(第4版)課件 第7章 脂質(zhì)代謝
- 超高性能混凝土框架節(jié)點(diǎn)抗震性能研究
- 兒童健康檢查培訓(xùn)
- 盧桑斯的權(quán)變管理理論
- 黃疸的問診要點(diǎn)與護(hù)理診斷
- 頸部疾病病人護(hù)理課件
- 我的健康早餐分享
- 幼兒春游欣賞活動方案設(shè)計(jì)
- 健康素養(yǎng)大講堂
- 預(yù)防網(wǎng)絡(luò)詐騙班會課件
- 美國技術(shù)服務(wù)合同英文翻譯
- 企業(yè)數(shù)字化生存指南
- 醫(yī)院醫(yī)療器械臨床試驗(yàn)項(xiàng)目資料備案清單
- YDT 5206-2023寬帶光纖接入工程技術(shù)規(guī)范
- 新疆警察學(xué)院面試問題及答案
- 小學(xué)三到六年級全冊單詞默寫(素材)-2023-2024學(xué)年譯林版(三起)小學(xué)英語
- 鐵嶺市高校畢業(yè)生“三支一扶”計(jì)劃招募筆試真題2022
- 天然氣泄漏事故演練方案及評估
- 《養(yǎng)老機(jī)構(gòu)認(rèn)知障礙照護(hù)專區(qū)設(shè)置與服務(wù)規(guī)范》
- 婦科炎癥健康教育課件
- 兒科護(hù)理學(xué)(高職)全套教學(xué)課件
評論
0/150
提交評論