结构--结构体是一些值的集合,这些值称为成员变量,结构的每个成员可以是不同类型的变量
结构体类型的声明
struct Peo //结构体类型的类型名
{
char name[20];
char tele [12];
}p1,p2; //通过结构体类型创建的结构 //体变量(全局),也可以不 //在这里直接创建
结构体初始化
struct Peo
{
char name[20];
char tele[12];
}
int main()
{
struct Peo p4={"zs","17727738337"}
return 0;
}
结构体成员访问
(1) 创建两个结构体类型
访问结构体成员的两种方法
(1) 通过变量名访问成员
当访问结构体嵌套时
(2) 通过结构体指针访问成员
当访问结构体嵌套时
结构体传参
第一种情况传的是结构体变量本身,此时要用一个相同类型的结构体变量(行参)来接收,行参是实参的一份临时拷贝,需要在内存中申请一块空间,然后通过变量名.成员来访问
第二种情况传的是结构体变量的地址,此时需要一个结构体指针来接收,然后通过 指针变量->成员来访问
结构体传参尽量使用第二种,因为函数传参的时候,参数是要压栈的,如果传递一个结构体对象的时候,结构体过大,参数压栈的系统开销比较大,所以会导致性能下降。