版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
8構(gòu)造類型構(gòu)造類型88構(gòu)造類型傳遞結(jié)構(gòu)本章內(nèi)容結(jié)構(gòu)體typedef結(jié)構(gòu)數(shù)組結(jié)構(gòu)指針鏈表動態(tài)存儲劉備,字玄德,河北涿州人,161年生,1.73m,雙股劍張飛,字翼德,河北涿州人,167年生,1.85m,丈八蛇矛槍關(guān)羽,字云長,山西運城人,162年生,2.07m,青龍偃月刀桃園三結(jié)義結(jié)構(gòu)體定義結(jié)構(gòu)體structxs{charname[8];intage;floatscore;};structxsz3;z3.scorez3.agez31結(jié)構(gòu)體[2007.4.18]設(shè)有說明
structDATE
{
intyear,month,day;
};
寫出定義語句,定義d為上述結(jié)構(gòu)體變量,并同時為其成員year、month和day依次賦初值為:2006、10、1。structDATEd
=
{2006,10,1};2結(jié)構(gòu)體[2011.3.36]設(shè)有以下定義,則錯誤的語句是
struct{inta;doubleb;charc[8];}t1,t2;A)t2
=
t1;B)t2.a
=
t1.a;C)t2.b
=
t1.b;D)t2.c
=
t1.c;t結(jié)構(gòu)體數(shù)組structxst[3]={"劉備",28,77.7,"關(guān)羽",27,88.8,"張飛",22,66.6};for(i=0;i<3;i++)printf("%s\t%d\t%f\n",t[i].name,
t[i].age,t[i].score);結(jié)構(gòu)數(shù)組t[0]t[2]t[1]劉備2877.7關(guān)羽2788.8張飛2266.61結(jié)構(gòu)體數(shù)組[2011.3.38]以下程序的運行結(jié)果是
structS
{
inta,b;
}data[2]={10,100,20,200};
main()
{
structSs=data[1];
printf("%d",++(s.a));
}21指向結(jié)構(gòu)體的指針structxs*p=t;for(i=0;i<3;i++){printf("%s\t%d\t%f",t[i].name,
p->age,(*p).score);
p++;}t[0]t[2]t[1]劉備2877.7關(guān)羽2788.8張飛22t66.6pppp結(jié)構(gòu)指針1結(jié)構(gòu)體指針[2012.3.37]錯誤引用color成員的是
structMP3{charname[20];charcolor;}s,*p=&s;A)s.colorB)p->colorC)s->colorD)(*p).color2結(jié)構(gòu)體指針[2009.3.37][2011.3.37]運行結(jié)果是
structord
{
intx,y;
}
dt[3]
=
{1,3,5,7,9,11};structord*p=dt;
printf("%d,",++p->x);printf("%d",++p->y);2,43結(jié)構(gòu)體指針[2010.3.38]能給w中m成員賦5的語句是
structstu{charname[8],sex;inth;struct{inty,m,d;}s;}w,*p=&w;A)*p.m=5;B)w.m=5;C)p->m=5;D)w.s.m=5;結(jié)構(gòu)體指針p結(jié)構(gòu)體變量ww的成員s的成員結(jié)構(gòu)體嵌套定義wnamesexhsymdp①用原類型名定義變量。例如:inta;②在前面加上typedef,把變量名換成新類型名。例如:
typedefintINTEGER;③用INTEGER代替int作整型變量的類型說明。例如:INTEGERa;typedef用戶自定義類型用戶自定義類型沒有增加新的數(shù)據(jù)類型,只是將已存在的類型用一個新的名字來代表,而且原有的類型名仍然有效。用戶自定義結(jié)構(gòu)體類型structst{inta,b;}v;typedef
structst{inta,b;}TT;TTv;structstv;struct{inta,b;}v;typedefstruct{inta,b;}TT;TTv;1用戶自定義結(jié)構(gòu)體類型[2004.4.39][2006.9.44][2010.9.39]若有以下定義語句,則各選項正確的是
typedefstructS{intg;charh;}T;A)可用S定義結(jié)構(gòu)體變量
B)可用T定義結(jié)構(gòu)體變量
C)S是struct類型的變量
D)T是structS類型的變量voidf(structxsw5){w5.age=40;}main(){structxsz3={"張飛",22,66.6};f(z3);printf("%s,%d,%.1f",,z3.age,z3.score);}張飛,22,66.6傳遞結(jié)構(gòu)結(jié)構(gòu)體作函數(shù)參數(shù)結(jié)構(gòu)體指針作函數(shù)參數(shù)voidf(structxs*p){p->age=40;}main(){structxsz3={"張飛",22,66.6};f(&z3);printf("%s,%d,%.1f",,z3.age,z3.score);}張飛,40,66.6結(jié)構(gòu)體成員作函數(shù)參數(shù)voidf(char*p,inta){strcpy(p,"張三");a=40;}main(){structxsz3={"張飛",22,66.6};f(,z3.age);printf("%s,%d,%.1f",,z3.age,z3.score);}張三,22,66.6返回結(jié)構(gòu)體的函數(shù)structxsf(structxss[3]){returns[1];}main(){structxst[3]
=
{"劉備",28,77.7,"關(guān)羽",27,88.8,"張飛",22,66.6};structxsv=f(t);printf("%s,%d,%.1f",,v.age,v.score);}關(guān)羽,27,88.81結(jié)構(gòu)體作函數(shù)參數(shù)[2007.4.33]以下程序的運行結(jié)果是
typedefstruct{intb,p;}A;voidf(Ac){c.b+=1;c.p+=2;}main(){Aa={1,2};f(a);printf("%d,%d",a.b,a.p);}1,22結(jié)構(gòu)體作函數(shù)參數(shù)[2012.3.38]以下程序的運行結(jié)果是
typedefstruct
{inta;charc[8];}A;voidfun(A*p){printf("%s",p->c);}main(){
Ax[3]={1,"Zhang",2,"Wang",
3,"Zhao"};fun(x+2);}Zhao3結(jié)構(gòu)體作函數(shù)參數(shù)[2011.9.36]以下程序的運行結(jié)果是
typedefstruct{chars[5],t;}A;
Af(Aa){Ab={"BB",'m'};a.t=b.t;strcpy(a.s,b.s);returna;}main(){Ac={"CC",'f'},d=f(c);printf("%s%c",
d.s,
d.t);}BBm動態(tài)分配指針=malloc(字節(jié)數(shù))
動態(tài)釋放
free(指針)動態(tài)存儲動態(tài)存儲分配動態(tài)存儲分配[例]以下程序的運行結(jié)果是
int*p;p=malloc(sizeof(int));*p=3;
printf("%d",*p);
free(p);32000堆320003000p棧[例]以下程序的運行結(jié)果是
inti,*p;p=malloc(sizeof(int)*3);for(i=0;i<3;i++){p[i]=i;printf("%d,",p[i]);}
free(p);02000堆0,1,2,20003000p棧動態(tài)分配數(shù)組1220042008p[0]p[1]p[2]1動態(tài)存儲分配[2010.9.37]以下程序的運行結(jié)果是
int*a,*b,*c;a=b=c=(int*)malloc(sizeof(int));*a=1;*b=2;*c=3;a=b;printf("%d,%d,%d",*a,*b,*c);3,3,32動態(tài)存儲分配[2012.3.14]以下程序的運行結(jié)果是char*p,*q,*r;p=q=r=(char*)malloc(sizeof(char)*20);strcpy(p,"e!");printf("%c%c%c",p[11],q[3],r[4]);free(p);cab鏈表鏈表的五種操作釋放刪除插入訪問建立鏈表的五種操作鏈表鏈表的存儲結(jié)構(gòu)structlink{intdata;
structlink*next;}*h;5473NULLhdatanextdatanextdatanextdatanext鏈表的存儲結(jié)構(gòu)structlink*p,*w;intsize=sizeof(structlink);p=(structlink
*)malloc(size);w=(structlink
*)malloc(size);p->data=3;w->data=4;p->next=w;w->next=NULL;p=p->next;34NULLdatanextdatanext400040003000p3000w40004000后插入創(chuàng)建鏈表for(i=1;i<=n;i++){p=(structlink*)malloc(size);scanf("%d",&p->data);if(i==1)h=p;elsew->next=p;w=p;}345datanextdatanextdatanextNULLp->next=NULL;pppwwwh前插入創(chuàng)建鏈表h=NULL;for(i=1;i<=n;i++){p=(structlink*)malloc(size);scanf("%d",&p->data);p->next=h;h=p;}543datanextdatanextdatanextNULLhppphh訪問鏈表p=h->next;while(p!=NULL){printf("%d,",p->data);
p=p->next;}543NULLp=NULL;ppphdatanextdatanextdatanextdatanext)插入結(jié)點intsize=sizeof(structlink);p=(structlink*)malloc(size);scanf("%d",&p->data);p->next=w->next;w->next=p;543NULL7datanext①②wphdatanextdatanextdatanextdatanext刪除結(jié)點p=w->next;w->next=p->next;free(p);4datanextdatanext3datanextNULL7datanexthwp釋放鏈表p=NULL;h=NULL;p=h;while(p!=NULL){h=h->next;free(p);p=h;}3datanextNULL5datanext4datanexthppphh帶頭結(jié)點的鏈表0547NULLhdatanextdatanextdatanextdatanextpp=h->next;鏈表的逆置NULLh2datanext4datanext6datanext8datanextp=h;while(q){r=q->next;q->next=p;p=q;q=r;}pqNULLrq=p->next;p->next=NULL;pqrpqr=NULL;pq=NULL;returnp;帶頭結(jié)點的鏈表逆置NULL2datanext4datanext6datanextp=h->next;while(q){r=q->next;q->next=p;p=q;q=r;}pqNULLq=p->next;p->next=NULL;prqr=NULL;pq=NULL;h->next=p;hdatanext釋放鏈表的尾結(jié)點2datanext4datanext6NULLdatanextt=p->next;while(t->next!=NULL){s=t;t=t->next;}printf("%d",t->data);s->next=NULL;tNULLs=p;pdatanextfree(t);sstst在有序鏈表中插入結(jié)點2datanext4datanext6NULLdatanextq=h;while(p!=NULL&&x>p->data){q=p;p=p->next;}s->next=p;q->next=s;phdatanextqqpqpp=h->next;5datanextsp=h;while(p){q=p->next
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度綠色建筑材料產(chǎn)銷合作框架協(xié)議書3篇
- 專項舊房翻新改造授權(quán)合同2024版一
- 專項消防工程:2024年中央空調(diào)安全系統(tǒng)協(xié)議版B版
- 2025年度時尚秀場場地租賃拍攝合同4篇
- 2025年度產(chǎn)業(yè)園企業(yè)入駐綠色生產(chǎn)技術(shù)轉(zhuǎn)移合作協(xié)議4篇
- 2025年度工業(yè)0智能廠房租賃合作協(xié)議2篇
- 2025年度汽車零部件全球采購合同4篇
- 2025年度虛擬現(xiàn)實設(shè)備檢測服務(wù)合同范本4篇
- 二零二五年度綜合醫(yī)院設(shè)備采購協(xié)議-64排螺旋CT設(shè)備3篇
- 2024年藥品供應(yīng)鏈管理合作協(xié)議6篇
- GB/T 8005.2-2011鋁及鋁合金術(shù)語第2部分:化學(xué)分析
- GB/T 37234-2018文件鑒定通用規(guī)范
- GB/T 31888-2015中小學(xué)生校服
- 質(zhì)量檢查考核辦法
- 不動產(chǎn)登記實務(wù)培訓(xùn)教程課件
- 云南省普通初中學(xué)生成長記錄-基本素質(zhì)發(fā)展初一-初三
- 2023年系統(tǒng)性硬化病診斷及診療指南
- 外科醫(yī)師手術(shù)技能評分標(biāo)準(zhǔn)
- 《英語教師職業(yè)技能訓(xùn)練簡明教程》全冊配套優(yōu)質(zhì)教學(xué)課件
- 采購控制程序
- 六年級上冊數(shù)學(xué)簡便計算題200題專項練習(xí)
評論
0/150
提交評論