一、结构体
(1)概念:
(2)定义格式:
struct 结构体
{
数据类型 成员1;
数据类型 成员2;
数据类型 成员3;
};
(3)注意:
成员可以是基本数据类型,也可以是构造数据类型(结构体、枚举、。。。)
结构体的生命类型不占用内存空间,当使用时
(4)初始化和赋值
①间接初始化和赋值
struct student s1={“张三”,18,9};//间接初始化:按顺序
struct student s2={.score=9,.name=“张三”,.age=18,};//间接初始化:不按顺序
struct student s3;//间接赋值:
strcpy(s3.name,”王二”);//字符串赋值时注意!!
s3.age=19;
s3.score=88;
struct student s4;//间接赋值:从终端
scanf(“%s”,s4.name);
scanf(“%s”,&s4.age);
scanf(“%s”,&s4.score);
②直接初始化和赋值
struct 结构体名
{
数据类型 成员1;
数据类型 成员2;
数据类型 成员3;
}d1={“张三”,18,9},
s2={.score=9,.name=“张三”,.age=18,}
;
(5)成员的访问
结构体指针访问成员:->(箭头)
结构体名访问成员: .(点)
- 结构体数组
初始化
间接初始化:
struct student s[3]={{“张三”,001},{“李四”}};//间接初始化:按顺序
struct student s[3]={[0]={.name=“张三”,.id=001},[1]={“李四”}};//间接:不按按顺序