結構體定義的幾種方式

--------------------- 
作者:mengxiangjia_linxi 
來源:CSDN 
原文:https://blog.csdn.net/mengxiangjia_linxi/article/details/78168461 
版權聲明:本文爲博主原創文章,轉載請附上博文鏈接!

共計有三種形式,分別介紹如下:

1) 先定義結構體類型,再定義結構體類型變量:

定義學生結構體類型

struct stu 
{
     char name[20];   //學生姓名
     char sex;        //性別
     long num;        //學號
     float score[3];  //三科考試成績
};

使用: 定義結構體類型變量

struct stu student1,student2;

用此結構體類型,可以定義更多的該結構體類型變量。

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)定義一個結構體類型用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;

使用:

Stu stu1;

通常用這種最簡單好用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章