c 語言結構體struct的三種定義方式 及 typedef

 

struct 結構體名{

  成員列表;post

  .....spa

}結構體變量;blog

結構體類型變量的定義

結構體類型變量的定義與其它類型的變量的定義是同樣的,但因爲結構體類型須要針對問題事先自行定義,因此結構體類型變量的定義形式就增長了靈活性,共計有三種形式,分別介紹以下:

1) 先定義結構體類型,再定義結構體類型變量:
struct stu / *定義學生結構體類型* /
{
     char name[20]; / * 學生姓名* /
     char sex; / * 性別* /
     long num; / *學號* /
     float score[3]; / * 三科考試成績* /
};
struct stu student1,student2;/ * 定義結構體類型變量* /
struct stu student3,student4;
用此結構體類型,能夠定義更多的該結構體類型變量。

2 ) 定義結構體類型同時定義結構體類型變量:
struct data
{
     int day;
     int month;
     int year;
} time1,time2;
也能夠再定義以下變量:
struct data time3,time4;
用此結構體類型,一樣能夠定義更多的該結構體類型變量。

3) 直接定義結構體類型變量:
struct
{
     char name[20]; / *學生姓名* /
     char sex; / *性別* /
     long num; / *學號* /
     float score[3]; / *三科考試成績* /
} person1,person2; / *定義該結構體類型變量* /
該定義方法因爲沒法記錄該結構體類型,因此除直接定義外,不能再定義該結構體類型變量。
 
4)
在C中定義一個結構體類型要用typedef: typedef struct Student { int a; }Stu; 因而在聲明變量的時候就可:Stu stu1; 若是沒有typedef就必須用struct Student stu1;來聲明 這裏的Stu實際上就是struct Student的別名。 另外這裏也能夠不寫Student(因而也不能struct Student stu1;了) typedef struct { int a; }Stu;
相關文章
相關標籤/搜索