结构体
结构体是编码过程中常用的一种代码,便于集合不同种类的成员变量
结构体的声明
struct tag
{
member-list;
}variable-list;
例如描述一个人
typedef struct pepole
{
char name[20]//名字
int age;//年龄
char sex[5];//性别
char id[20];//身份证号
}Stu;
结构体成员的类型
结构的成员可以是标量、数组、指针,甚至是其他的结构体
结构体变量的定义和初始化
struct point
{
int x;
int y;
}p1;//声明类型的同时赋值
struct point p2;//定义结构体变量p2
struct Stu//类型声明
{
char name[15];//名字
int age;//年龄
};
struct Stu s={"doudou",20};//初始化
struct Node
{
int data;
struct point p;
struct Node* next;
}n1={10,{4,5},NULL}; //结构体嵌套初始化
struct Node n2={20,{5,6},NULL};
struct Node n2={20,{5,6},NULL}; //结构体嵌套初始化
结构体成员的访问
结构体变量访问成员 通过点操作符(.)访问的。点操作符接受两个操作数
struct Stu
{
char name[20];
int age;
};
void print(struct Stu*ps)
{
printf("name=% age=%d\n",(*ps).name,(*ps).age);//使用结构体的指针访问指向对象的成员
printf("name=% age=%d\n",ps->name,ps->age);
}
int main()
{
struct Stu s={"zhangsan",20};
print(&s);
return 0;
}