|
char second; }half; }number; number.i=0x4241; /*聯(lián)合成員賦值*/ printf("%c%c\n", number.half.first, mumber.half.second); number.half.first='a'; /*聯(lián)合中結構成員賦值*/ number.half.second='b'; printf("%x\n", number.i); getch(); }
輸出結果為: AB 6261
從上例結果可以看出: 當給i賦值后, 其低八位也就是first和second的值; 當給first和second賦字符后, 這兩個字符的ASCII 碼也將作為i 的低八位和高八位。 ................................................................................................................ 學C51的基礎 10a《 結構(struct) 》 [cmh] 結構(struct)
結構是由基本數(shù)據(jù)類型構成的、并用一個標識符來命名的各種變量的組合。結構中可以使用不同的數(shù)據(jù)類型。
1. 結構說明和結構變量定義 在Turbo C中, 結構也是一種數(shù)據(jù)類型, 可以使用結構變量, 因此, 象其它類型的變量一樣, 在使用結構變量時要先對其定義。 定義結構變量的一般格式為: struct 結構名 { 類型 變量名; 類型 變量名; ... } 結構變量; 結構名是結構的標識符不是變量名。 類型為第二節(jié)中所講述的五種數(shù)據(jù)類型(整型、浮點型、字符型、指針型和無值型)。 構成結構的每一個類型變量稱為結構成員, 它象數(shù)組的元素一樣, 但數(shù)組中元素是以下標來訪問的, 而結構是按變量名字來訪 問成員的。 下面舉一個例子來說明怎樣定義結構變量。 struct string { char name[8]; int age; char sex[2]; char depart[20]; float wage1, wage2, wage3, wage4, wage5; } person; 這個例子定義了一個結構名為string的結構變量person, 如果省略變量名person, 則變成對結構的說明。用已說明的結構名也 可定義結構變量。這樣定義時上例變成:
|