古詩詞大全網 - 古詩大全 - struct用法是什麽?

struct用法是什麽?

關鍵字struct能定義各種類型的變量集合,稱為結構(structure),並把它們視為壹個單元。\x0d\\x0d\1.struct的簡單例子\x0d\下面是壹個struct的簡單的聲明例子:\x0d\struct \x0d\horse\x0d\{\x0d\int \x0d\age;\x0d\int \x0d\height;\x0d\} \x0d\Silver;\x0d\\x0d\這個例子聲明了壹個結構horse。horse不是壹個變量名,而是壹個新的類型,這個類型名稱通常稱為結構標記符(structure tag)或標記符名稱(tag name)。結構標記符的命名方式和我們熟悉的變量名相同。\x0d\註意:\x0d\結構標記符可以和變量使用相同的名稱,但最好不要這麽做,因為這會使代碼難以理解。\x0d\在這個結構例子中,結構的壹個實例Silver是在定義結構時聲明的。它是壹個horse類型的變量,只要使用變量名稱Silver,它都包含兩個結構成員:age和height。\x0d\\x0d\上述的例子也可變得復雜壹些,如下:\x0d\struct \x0d\horse\x0d\{\x0d\int age;\x0d\int height;\x0d\char name[20];\x0d\char father[20];\x0d\char mother[20];\x0d\} \x0d\Dobbin = {24, 17, "Dobbin", "Trigger", "Flossie"};\x0d\\x0d\1.1定義結構類型和結構變量\x0d\\x0d\可以將結構的聲明和結構變量的聲明分開。取代前面例子的語句如下:\x0d\struct \x0d\horse\x0d\{\x0d\int age;\x0d\int height;\x0d\char name[20];\x0d\char father[20];\x0d\char mother[20];\x0d\};\x0d\struct horse Dobbin = {24, l7, "Dobbin", "Trigger", "Flossie"\x0d\};\x0d\現在有兩個分開的語句。第壹個定義結構標記符horse,第二個聲明該類型的變量Dobbin。結構定義和結構變量聲明語句都用分號結束。在Dobbin結構成員的初始值中,Dobbin的父親是Trigger,母親是Flossie。\x0d\\x0d\1.2訪問結構成員\x0d\\x0d\要引用結構成員,應在結構變量名稱的後面加上壹個句點,再加上成員變量名稱。例如,發現Dobbin隱瞞了它的年齡,事實上它比初始化的值年輕,就可以將值修正如下:\x0d\Dobbin.age = 12;\x0d\結構變量名稱和成員名稱間的句點是壹個運算符,稱為成員選擇運算符。這行語句Dobbin結構的age成員設定成12。結構成員和相同類型的變量完全壹樣,可以給它們設定值,也可以在表達式中像使用壹般變量壹樣使用它們。\x0d\\x0d\用下面的語句定義horse結構:\x0d\struct \x0d\horse\x0d\{\x0d\int age;\x0d\int height;\x0d\char name[20];\x0d\char father[20];\x0d\char mother[20];\x0d\};\x0d\這個結構有兩個整數成員age和height,以及三個字符數組成員name、father和mother。在閉括號的後面僅是壹個分號,還沒有聲明horse類型的變量。在定義完horse結構後,具有如下語句:\x0d\struct \x0d\horse My_first_horse;\x0d\\x0d\1.3未命名的結構\x0d\不—定要給結構指定標記符名字。用壹條語句聲明結構和該結構的實例時,可以省略標記符名字。在上壹個例子中,聲明了horse類型和該類型的實例My_first_horse,也可以改為:\x0d\struct\x0d\{\x0d\int age;\x0d\int height;\x0d\char name[20];\x0d\char father[20];\x0d\char mother[20];\x0d\} \x0d\My_first_horse;\x0d\使用這種方法的最大缺點是不能在其他語句中定義這個結構的其他實例。這個結構類型的所有變量必須在壹行語句中定義。