當前位置:才華齋>計算機>C語言>

C語言結構體教程

C語言 閱讀(4.29K)

引導語;結構體是由一系列具有相同型別或不同型別的資料構成的資料集合。以下是本站小編分享給大家的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();

}

}