C语言--结构体初阶

结构--结构体是一些值的集合,这些值称为成员变量,结构的每个成员可以是不同类型的变量

结构体类型的声明

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) 创建两个结构体类型

C语言--结构体初阶_第1张图片

 C语言--结构体初阶_第2张图片

 

访问结构体成员的两种方法

(1) 通过变量名访问成员

C语言--结构体初阶_第3张图片

 当访问结构体嵌套时

C语言--结构体初阶_第4张图片

 

(2) 通过结构体指针访问成员

C语言--结构体初阶_第5张图片

 当访问结构体嵌套时

7323535898d242108cafd18e42fb7e1c.jpg

 

结构体传参

第一种情况传的是结构体变量本身,此时要用一个相同类型的结构体变量(行参)来接收,行参是实参的一份临时拷贝,需要在内存中申请一块空间,然后通过变量名.成员来访问

第二种情况传的是结构体变量的地址,此时需要一个结构体指针来接收,然后通过 指针变量->成员来访问

结构体传参尽量使用第二种,因为函数传参的时候,参数是要压栈的,如果传递一个结构体对象的时候,结构体过大,参数压栈的系统开销比较大,所以会导致性能下降。

你可能感兴趣的:(c语言)