資源描述:
《程序設(shè)計3 結(jié)構(gòu)體數(shù)組》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、結(jié)構(gòu)體數(shù)組結(jié)構(gòu)體數(shù)組中的每個元素都是一個結(jié)構(gòu)體類型的變量,其中包括該類型的各個成員。數(shù)組各元素在內(nèi)存中連續(xù)存放。400一、結(jié)構(gòu)體數(shù)組的定義structstudentstructstudent{intnum;{intnum;charname[20];charname[20];charsex;charsex;intage;intage;floatscore;floatscore;charaddr[30];charaddr[30];};}stu[30];structstudentstu[30];直接定義401二、結(jié)構(gòu)體數(shù)組的初始化str
2、uctstudent{intnum;charname[20];charsex;}stu[3]={{1011,"LiLin",'M'},{1012,"WangLan",'F'},{1013,"LiuFang",'F'};402structstudent{intnum;charname[20];charsex;}stu[]={{1011,"LiLin",'M'},{1012,"WangLan",'F'},{1013,"LiuFang",'F'}};403以下程序的結(jié)果是:voidmain(void){structdate{intyea
3、r,month,day;}today;cout<4、endl;輸出:a?cout<<結(jié)構(gòu)體類型名>::<靜態(tài)成員名>;其中類型要與在結(jié)構(gòu)體中定義該成員的類型一致,結(jié)構(gòu)體類型名指明靜態(tài)成員屬于哪一個結(jié)構(gòu)體。這時,未定義結(jié)構(gòu)體變structs{量,但已將靜態(tài)成員的空staticintid;間安排好。inteng;若有定義:s
5、s1,s2;};結(jié)構(gòu)體類型則變量s1,s2的id成員占用同一數(shù)據(jù)類型存儲空間(靜態(tài)區(qū))。ints::id=50;406在結(jié)構(gòu)體中說明的靜態(tài)成員屬于引用性說明,必須在文件作用域中的某一個地方對靜態(tài)的成員進行定義性說明,且僅能說明一次。ints::id;說明id的初值為0(靜態(tài)變量的缺省初值均為0)407共用體C++語言中,允許不同的數(shù)據(jù)類型使用同一存儲區(qū)域,即同一存儲區(qū)域由不同類型的變量共同表示。這種數(shù)據(jù)類型就是共用體。uniondataunion共用體名{inti;{成員表列;charch;}變量表列;floatf;unionda
6、taa,b,c;}a,b,c;這幾個成員在共用體變量中存放在同一地址,相互覆蓋,其長度為最長的成員的長度。408共用體變量的引用不能整體引用共用體變量,只能引用變量中的成員。a.ia.i表示為整型a.cha.ch表示為字符型a.fa.f表示為符點型409共用體變量的特點1、共用體的空間在某一時刻只有一個成員在起作用。2、共用體變量中的成員是最后一次放入的成員。3、共用體變量不能在定義時賦初值。4、共用體變量不能作為函數(shù)的參數(shù)或函數(shù)值,但可使用指向共用體的指針變量。5、共用體可以作為結(jié)構(gòu)的成員,結(jié)構(gòu)體也可以作為共用體的成員。410u
7、nionun{inti;doubley;};structst{chara[10];unionunb;18};cout<8、nionEXAMPLE{struct{intx,inty;}in;inta,b;}e;x124124124abe.a=1;ine.b=2;y8be.in.x=e.a*e.a;輸出:4848e.in.y=e.b+e.b;cout<