1. 程式人生 > >c語言結構體定義的幾種形式

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

sdn 方法 tps statistic htm def courier ng- target

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

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

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

};

struct data sum1, sum2;

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

struct data
{
char aa;


char bb;
char cc;
int dd;
}sum1, sum2;

struct data sum3;

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

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

struct sum3; <- 編譯器報錯

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

typedef struct data

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

struct data sum3;


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

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

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

DATA sum1; <- 最常用方式

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

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

DATA sum3;

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