结构的声明:
struct people
{
char name[20];//名字
char weight;//体重
char sex[5];//性别
int high;//身高
}P1,P2;//P1,P2是使用struct people结构体类型创建的两个变量(全局变量)
结构体成员的类型:
标量、数组、指针、其他结构体
结构体变量的定义和初始化:
struct class
{
int students[50];
int teacher[6];
};
struct campus
{
int people[2000];
int the_staff[100];
int leadship[20];
struct class;
}n1={2000,100,20,{50,6}};//结构体嵌套初始化
结构体成员的访问:
(1)结构体变量访问成员
struct S s;
strcpy(s.name, "zhangsan");//使用.访问name成员
s.age = 20;//使用.访问age成员
(2)结构体指针访问指向变量的成员
struct Stu
{
char name[20];
int age;
};
void print(struct Stu* ps)
{
printf("name=%s age=%d\n", (*ps).name, (*ps).age);//结构体变量.成员变量
printf("name=%s age=%d\n", ps->name, ps->age);//结构体指针.成员变量
}
int main()
{
struct Stu s = { "zhangsan",20 };
print(&s);//结构体地址传参
return 0;
}