C语言_结构体

文章目录

  • 一、结构体
    • 结构的基础知识
  • 二、结构体类型的声明
  • 三. 结构体初始化
  • 四.结构成员的类型
  • 五.结构体变量的定义和初始化
  • 六.结构体成员访问
      • 6.1结构体变量访问成员
      • 6.2结构体指针访问指向变量的成员(箭头操作符 ->)
  • 七.结构体传参
          • 总结

一、结构体

结构的基础知识

结构是一些值的集合,这些值称为成员变量,结构的每个成员可以是不同类型的变量。
数组: 一组相同类型元素的集合;
结构体:其实是一组不一定相同类型元素的集合;
复杂对象,不能通过内置类型直接描述和表示,就用结构体来描述复杂类型。

二、结构体类型的声明


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

三. 结构体初始化

C语言_结构体_第2张图片
C语言_结构体_第3张图片

四.结构成员的类型

结构成员可以使标量、数组、指针、甚至是其它结构体

五.结构体变量的定义和初始化

有了结构体类型,如何定义变量

C语言_结构体_第4张图片
C语言_结构体_第5张图片

六.结构体成员访问

6.1结构体变量访问成员

结构变量的成员是通过点操作符(.)访问的 点操作符接受两个操作数。

C语言_结构体_第6张图片

6.2结构体指针访问指向变量的成员(箭头操作符 ->)

有时候我们得到的不是一个结构体变量,而是指向一个结构体的指针。
如何访问成员:如下

C语言_结构体_第7张图片

七.结构体传参

C语言_结构体_第8张图片
C语言_结构体_第9张图片
总结

首选 print2 函数
因为:函数传参的时候,参数是需要压栈的。
如果传递一个结构体对象的时候,结构体过大,参数压栈的的系统开销过大,所以会导致性能的下降。
结论:结构体传参的时候,要传结构体的地址。

你可能感兴趣的:(数据结构)