?? codetc27.dat
字號:
結(jié)構(gòu)體
C語言允許用戶自已指定這樣一種數(shù)據(jù)結(jié)構(gòu),它稱為結(jié)構(gòu)體(structure).它相當(dāng)于其他高級語言中的"記錄".
num name sex age score addr
-----------------------------------------------------
1001 Li Fun M 18 87.5 Beijing
-----------------------------------------------------
假設(shè)程序要用到上圖所表示的數(shù)據(jù)結(jié)構(gòu),但是C語言沒有提供這種現(xiàn)成的數(shù)據(jù)類型,因此用戶必須要在程序中建立所需要的結(jié)構(gòu)體類型.
例如:
struct student
{
int num;
char name[20];
char sex;
int age;
float score;
char addr[30];
};
注意不要忽略最后的分號.上面程序設(shè)計者指定了一個新的結(jié)構(gòu)體類型struct student(struct聲明結(jié)構(gòu)體類型時所必須使用的關(guān)鍵字,不能省略),它向編譯系統(tǒng)聲明這是 一 個"結(jié)構(gòu)體類型",它包括num,name,sex,age,score,addr等不同類型的數(shù)據(jù)項.應(yīng)當(dāng)說明struct student是一個類型名,它和系統(tǒng)提供的標(biāo)準(zhǔn)類 型(如int,char,float,double等)一樣具有同樣的地位和作用,都可以用來定義變量的類型,只不過結(jié)構(gòu)體類型需要由用戶自己定義而已.
聲明一個結(jié)構(gòu)體類型的一般形式為:
struct 結(jié)構(gòu)體名
{ 成員表列 };
"結(jié)構(gòu)體名"用作結(jié)構(gòu)體類型的標(biāo)志,它又稱"結(jié)構(gòu)體標(biāo)記"(structure tag).上面的結(jié)構(gòu)體聲明中student就是結(jié)構(gòu)體名(結(jié)構(gòu)體標(biāo)記).大括弧內(nèi)是該結(jié)構(gòu)體中的各個成員,由 它們組成一個結(jié)構(gòu)體.例如,上例中的num,name,sex等都是成員.對各成員都應(yīng)進行類型聲明,即: 類型名 成員名
也可以把"成員表列"稱為"域表".每一個成員也稱為結(jié)構(gòu)體中的一個域.成員名定名規(guī)則與變量名同.
定義結(jié)構(gòu)體類型的變量的方法
前面只是指定了一個結(jié)構(gòu)體類型,它相當(dāng)于一個模型,但其中并無具體數(shù)據(jù),系統(tǒng)對之也不分配實際內(nèi)存單元.為了能在程序中使用結(jié)構(gòu)體類型的數(shù)據(jù),應(yīng)當(dāng)定義結(jié)構(gòu)體類型的變 量,并在其中放具體的數(shù)據(jù).可以采用以下三種方法定義變量.如
1. 先聲明結(jié)構(gòu)體類型再定義變量名
如上面已定義了一個結(jié)構(gòu)體類型 struct student,可以用它來定義變量.如:
struct student student1,student2;
------------- -------- ---------
結(jié)構(gòu)體類型名 結(jié)構(gòu)體變量名
2. 在聲明類型的同時定義變量
例如: struct student
{
int num;
char name[20];
int age;
float score;
}student1,student2;
它的作用與第一種方法相同,即定義了兩個struct student類型的變量student1,student2.這種形式的定義的一般形式為:
struct 結(jié)構(gòu)體名
{
成員表列
}變量名表列;
3. 直接定義結(jié)構(gòu)類型變量
其一般形式為:
struct
{
成員表列
}變量名表列;
即不出現(xiàn)結(jié)構(gòu)體名.
結(jié)構(gòu)體變量的引用
引用結(jié)構(gòu)體變量中成員的方式為: 結(jié)構(gòu)體變量名.成員名
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -