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


struct 結構體名{

  成員列表;

  .....

}結構體變量;

結構體類型變量的定義

結構體類型變量的定義與其它類型的變量的定義是一樣的,但由於結構體類型需要針對問題事先自行定義,所以結構體類型變量的定義形式就增加了靈活性,共計有三種形式,分別介紹如下:

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;
 
 
https://www.cnblogs.com/ransn/p/5132352.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM