第一种
struct{
int x=1;
}test1,test2;
test1 test2 是结构体的变量,不用声明,因此可以直接打印 test1.x,test2.x
struct{
int x=1;
}test1,test2;
int main(){
printf("%d %d",test1.x,test2.x);
return 0;
}
//打印结果
//1 1
第二种
struct test{
int x=1;
}test1,test2;
test 是结构体类型,test1 test2 是 test 结构体类型的变量
struct test{
int x=1;
}test1,test2;
int main(){
test a;
printf("%d ",a.x);
printf("%d ",test1.x);
printf("%d ",test2.x);
return 0;
}
//打印结果
//1 1 1
第三种
typedef struct test{
int x=1;
}test1,test2;
test test1 test2 都是结构体类型,需要声明变量
typedef struct test{
int x=1;
}test1,test2;
int main(){
test a;
test1 b;
test2 c;
printf("%d %d %d",a.x,b.x,c.x);
return 0;
}
//打印结果
//1 1 1
第四种
typedef struct{
int x=1;
}test1,test2;
test1 test2 都是结构体类型,需要声明变量
typedef struct{
int x=1;
}test1,test2;
int main(){
test1 a;
test2 b;
printf("%d ",a.x);
printf("%d ",b.x);
return 0;
}
//打印结果
//1 1