1.1结构体
结构体是一些值的集合,这些称为成员变量,结构的每个成员可以是不同变量
1.2结构体声明
stract tag
{
member-list
}variable-list
列如描述一个学生
typedef struct stu
{
char name【20】;
int age;
char sex【5】;
char id【20】;
}stu;
1.3结构成员类型
结构的成员可以是标量,数组,指针,甚至是其他结构体
1.4结构体变量的定义和初始化
struct point
{
int x;
int y;
}p1//声明类型的同时定义变量p1
};
struct point p2;//定义结构体变量p2
struct stu
{
char name【15】;
int age;
}
struct stu s={“zhangsan”,“20”};//结构体初始化
1.5结构体成员访问
struct stu
{
char name【15】;
int age;
}
struct stu s;
s.age=20;
1.6结构体穿参
结构体传参建议取地址,把整个结构体传参会导致性能下降
struct S
{
int data[1000];
int num;
};
struct S s = {{1,2,3,4}, 1000};
//结构体传参
void print1(struct S s)
{
printf("%d\n", s.num);
}
//结构体地址传参
void print2(struct S* ps)
{
printf("%d\n", ps->num);
}
int main()
{
print1(s); //传结构体
print2(&s); //传地址
return 0;
}