1、结构体形式:
struct 结构体名
{
结构体成员;
} 结构变量;
示例 1 定义结构体,也定义一个结构体变量:
struct student
{
int age; //结构体成员
char name;
}stu1;
int main()
{
struct student stu2; //定义新的结构体变量 ,需要写 struct
stu1.age = 23; //结构体成员赋值
stu1.name = 'Z';
printf("age = %d,name = %c",stu1.age,stu1.name);
return 0;
}
结果输出:age = 23,name = Z
示例 2 定义结构体,没有定义结构体变量,使用时,再定义新的结构变量:
struct student
{
int age; //结构体成员
char name;
};
int main()
{
struct student stu1; //定义结构体变量 ,需要写 struct
stu1.age = 25; //结构体成员赋值
stu1.name = 'C';
printf("age = %d,name = %c",stu1.age,stu1.name);
return 0;
}
结果输出:age = 25,name = C
示例 3 ,没有结构体名,后面只能使用定义结构体时,定义的结构体变量:
struct
{
int age; //结构体成员
char name;
}stu1;
int main()
{
stu1.age = 28; //结构体成员赋值
stu1.name = 'W';
printf("age = %d,name = %c",stu1.age,stu1.name);
return 0;
}
结果输出:age = 28,name = W
示例 4 ,使用typedef ,定义新的结构体变量时,不需要写struct:
typedef struct
{
int age; //结构体成员
char name;
}stu;
int main()
{
stu stu1; //定义结构体变量 ,不需要写struct
stu1.age = 18; //结构体成员赋值
stu1.name = 'Y';
printf("age = %d,name = %c",stu1.age,stu1.name);
return 0;
}
结果输出:age = 18,name = Y
示例 5 ,使用typedef ,定义新的结构体变量时,不需要写struct:
typedef struct sudent
{
int age; //结构体成员
char name;
}stu;
int main()
{
sudent stu2; //定义结构体变量 ,不需要写struct
stu stu1; //定义结构体变量 ,不需要写struct
stu1.age = 18; //结构体成员赋值
stu1.name = 'Y';
printf("age = %d,name = %c",stu1.age,stu1.name);
return 0;
}
结果输出:age = 18,name = Y
个人比较喜欢示例4的方式定义结构体,用起来也比较方便