C語言結構體教程
引導語;結構體是由一系列具有相同類型或不同類型的數據構成的數據集合。以下是本站小編分享給大家的C語言結構體教程,歡迎閲讀!
一、結構説明和結構變量定義
在Turbo C中,結構也是一種數據類型,可以使用結構變量,因此,象其它類型的變量一樣, 在使用結構變量時要先對其定義。
定義結構變量的一般格式為:
struct 結構名
{
類型 變量名;
類型 變量名;
...
} 結構變量;
結構名是結構的標識符不是變量名。
類型為第二節中所講述的五種數據類型(整型、浮點型、字符型、指針型和無值型)。
構成結構的每一個類型變量稱為結構成員,它象數組的元素一樣,但數組中元素是以下標來訪問的,而結構是按變量名字來訪問成員的。
下面舉一個例子來説明怎樣定義結構變量。
struct string
{
char name[8];
int age;
char sex[4];
char depart[20];
float wage1,wage2,wage3;
}person;
這個例子定義了一個結構名為string的結構變量person,如果省略變量名person,則變成對結構的説明。用已説明的結構名也可定義結構變量。這樣定義時上例變成:
struct string
{
char name[8];
int age;
char sex[4];
char depart[20];
float wage1,wage2,wage3;
};
struct string person;
如果需要定義多個具有相同形式的結構變量時用這種方法比較方便,它先作結構説明,再用結構名來定義變量。
例如:
struct string Tianyr, Liuqi, ...;
如果省略結構名,則稱之為無名結構,這種情況常常出現在函數內部,用這種結構時前面的例子變成:
struct
{
char name[8];
int age;
char sex[4];
char depart[20];
float wage1,wage2,wage3;
} Tianyr, Liuqi;
二、結構變量的使用
結構是一個新的數據類型,因此結構變量也可以象其它類型的變量一樣賦值、運算,不同的是結構變量以成員作為基本變量。
結構成員的表示方式為:
結構變量.成員名
如果將結構變量.成員名看成一個整體,則這個整體的數據類型與結構中該成員的數據類型相同,這樣就可象前面所講的變量那樣使用。
下面這個例子定義了一個結構變量,其中每個成員都從鍵盤接收數據,然後對結構中的浮點數求和,並顯示運算結果。請注意這個例子中不同結構成員的訪問。
#include
main()
{
struct
{ /*定義一個結構變量*/
char name[8];
int age;
char sex[4];
char depart[20];
float wage1,wage2,wage3;
}a;
float wage;
char c='Y';
while(c=='Y'||c=='y') /*判斷是否繼續循環*/
{
printf(nName:);
scanf(%s, ); /*輸入姓名*/
printf(Age:);
scanf(%d, &); /*輸入年齡*/
printf(Sex:);
scanf(%s, );
printf(Dept:);
scanf(%s, rt);
printf(Wage1:);
scanf(%f, &1); /*輸入工資*/
printf(Wage2:);
scanf(%f, &2);
printf(Wage3:);
scanf(%f, &3);
wage=1+2+3;
printf(The sum of wage is %6.2fn, wage);
printf(Continue?);
c=getche();
}
}