c語言結構體定義的幾種形式

轉自https://blog.csdn.net/ziguo2010/article/details/79897327

 

一、最經常使用定義方式:定義結構體data,此時結構體至關於一個類型,好比int,如需使用此結構體,方法同int

 

struct data
{
    char aa;
    char bb;
    char cc;
    int  dd;

};html

struct data sum1, sum2;post

 

二、定義結構體data同時,定義須要使用的結構體變量sum1,sum2。如後面再須要定義結構體變量,方法同1spa

struct data
{
    char aa;
    char bb;
    char cc;
    int  dd;
}sum1, sum2;.net

struct data sum3;htm

 

三、定義結構體時,結構體名稱缺省,同時定義結構體變量sum1,sum2。但後面不可再定義結構體變量!blog

struct
{
    char aa;
    char bb;
    char cc;
    int dd;
}sum1, sum2;get

struct sum3;  <-  編譯器報錯編譯器

 

四、使用typedef 定義結構體,定義結構體data時,使用typedef,此種形式幾乎不使用,再定義結構體變量時,仍需加struct,不然編譯器報錯!it

 

typedef struct data編譯

{
    char aa;
    char bb;
    char cc;
    int dd;
};

    struct data sum3;


五、使用typedef定義結構體同時,給data結構體別名DATA,後續定義可不用使用struct data,直接使用DATA便可。

 

typedef struct data
{
    char aa;
    char bb;
    char cc;
    int dd;
}DATA;

    struct data sum3; <- 可用,但不推薦

    DATA sum1; <- 最經常使用方式

 

六、使用typedef定義結構體時,省掉結構體第一個別名data,直接在後面加DATA,使用方法同5。

 

typedef struct
{
    char aa;
    char bb;
    char cc;
    int dd;
}DATA;

    DATA sum3;

相關文章
相關標籤/搜索