|
struct string { char name[8]; int age; char sex[2]; char depart[20]; float wage1, wage2, wage3, wage4, wage5; }; struct string person; 如果需要定義多個(gè)具有相同形式的結(jié)構(gòu)變量時(shí)用這種方法比較方便, 它先作結(jié)構(gòu)說明, 再用結(jié)構(gòu)名來定義變量。 例如: struct string Tianyr, Liuqi, ...; 如果省略結(jié)構(gòu)名, 則稱之為無名結(jié)構(gòu), 這種情況常常出現(xiàn)在函數(shù)內(nèi)部, 用這種結(jié)構(gòu)時(shí)前面的例子變成: struct { char name[8]; int age; char sex[2]; char depart[20]; float wage1, wage2, wage3, wage4, wage5; } Tianyr, Liuqi;
2. 結(jié)構(gòu)變量的使用 結(jié)構(gòu)是一個(gè)新的數(shù)據(jù)類型, 因此結(jié)構(gòu)變量也可以象其它類型的變量一樣賦值、運(yùn)算, 不同的是結(jié)構(gòu)變量以成員作為基本變量。 結(jié)構(gòu)成員的表示方式為: 結(jié)構(gòu)變量.成員名 如果將"結(jié)構(gòu)變量.成員名"看成一個(gè)整體, 則這個(gè)整體的數(shù)據(jù)類型與結(jié)構(gòu)中該成員的數(shù)據(jù)類型相同, 這樣就可象前面所講的變量 那樣使用。 下面這個(gè)例子定義了一個(gè)結(jié)構(gòu)變量, 其中每個(gè)成員都從鍵盤接收數(shù)據(jù), 然后對結(jié)構(gòu)中的浮點(diǎn)數(shù)求和, 并顯示運(yùn)算結(jié)果, 同時(shí)將 數(shù)據(jù)以文本方式存入一個(gè)名為wage.dat的磁盤文件中。請注意這個(gè)例子中不同結(jié)構(gòu)成員的訪問。 例3: #include < stdio.h > main() { struct{ /*定義一個(gè)結(jié)構(gòu)變量*/ char name[8]; int age; char sex[2]; char depart[20]; float wage1, wage2, wage3, wage4, wage5; }a; FILE *fp; float wage; char c='Y'; fp=fopen("wage.dat", "w"); /*創(chuàng)建一個(gè)文件只寫*/ while(c=='Y' c=='y') /*判斷是否繼續(xù)循環(huán)*/
|