"struct {int a; char b; } Q" 这个定义是错误的,结尾错少分号==>完整的应该是这样的
typedef struct
{
int a;
char b;
} Q;
或者
struct Q
{
int a;
char b;
} ;
这个意思是定义一个结构体类型Q 包含两个成员,一个是整型的a, 另一个是字符型的b.
定义后就可以通过Q来声明该结构体类型的变量;
Q q; //声明q
q.a = 65; //给q变量的a成员赋值
q.b = 97; //给q变量的b成员赋值
大致就是这样的。
声明Q是结构体变量struct {int a; char b; }
然后就可以直接对变量Q进行初始化Q.a=0;Q.B=0;这样类似的操作
好像指,结构体(有点像类)struct有2个属性,整形类型的a,字符型的b
struct { ->结构体关键字
int a;
char b;
}Q;-》结构体标识符,名字