目录
结构体声明
结构体基础知识
结构体是一些值得集合,这些值称为成员变量。结构的每个成员可以是不同类型的变量。
结构体的声明
struct tag
{
member - list;
}variable-list;
举个例子
struct peo
{
char name[20];
char tel[12];
char sex[5];
int high;
};
int main()
{
struct peo p1 = { "张三", "12345678901", "男", 188 };
system("pause");
return 0;
}
结构体成员的类型
结构体成员可以是标量、数组、指针、甚至是其他结构体。
结构体变量的定义和初始化
struct peo
{
char name[20];
char tel[12];
char sex[5];
int high;
};
struct stu
{
struct peo p;
int num;
};
int main()
{
struct peo p1 = { "张三", "12345678901", "男", 188 };
struct stu s = { {"李四","98765432101","女",166},37 };
printf("%s %s %s %d\n", p1.name, p1.tel, p1.sex, p1.high);
printf("%s %s %s %d %d\n", s.p.name,s.p.tel,s.p.sex,s.p.high,s.num);
system("pause");
return 0;
}
结构体成员的访问
结构体成员的访问有两种方式。
结构体名.成员名。
结构体指针->成员名。
结构体传参
结构体占有较大空间,为了避免空间浪费,一般结构体传参都是使用传址的方式。
struct peo
{
char name[20];
char tel[12];
char sex[5];
int high;
};
struct stu
{
struct peo p;
int num;
};
void print(struct stu* ss)
{
printf("%s %s %s %d %d\n", ss->p.name, ss->p.tel, ss->p.sex, ss->p.high, ss->num);
}
int main()
{
struct stu s = { {"李四","98765432101","女",166},37 };
print(&s);
system("pause");
return 0;
}