struct 定义:
struct test
{
int a;
long b;
float c;
char d;
char e[];
}tt1,tt2;//对象声明列表紧跟struct定义
struct test tt3,tt4;//单独声明对象列表
//声明一个没结构体名字的结构体
struct
{
int a;
long b;
float c;
char d;
char e[3];
}tt1={2,3,3.2,'c',"tyu"},tt2={2,3,3.2};//必须顺序赋值,但可以不赋值所有成员
struct初始化:
1,//按顺序初始化
struct test t1={1,2,1.23,'h',"gsdhf"};
2,//乱序
struct test t2=
{
.a=1,
.b=2,
.c=1.23,
.d='h',
.e="gsdhf"
};
注意:
1,如果存在部分成员没初始化,一般值是系统默认值。
2,如果即存在乱序又存在顺序初始化,顺序初始化始终紧跟上一个乱序成员,即该顺序赋值给上一个乱序成员的下一个成员。如:
struct test tt=
{
.c = 18.90,
.b=