《C游记》 番外篇(贰)结构思维禅性稳 四众皆倡结构体

目录

(壹) 结构体的声明

1.1 结构体的基础知识

1.2 结构的声明

1.3 结构成员的类型

(贰) 结构体变量的定义和初始化

(叁) 结构体成员的访问 

(肆) 结构体传参


  ✅《C游记》 专栏 ✅  《小玄的C游之旅》


(壹) 结构体的声明

1.1 结构体的基础知识

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

        在C语言中,结构体(struct)指的是一种数据结构,是C语言中聚合数据类型(aggregate data type)的一类。结构体可以被声明为变量、指针或数组等,用以实现较复杂的数据结构。结构体同时也是一些元素的集合,这些元素称为结构体的成员(member),且这些成员可以为不同的类型,成员一般用名字访问


       在实际项目中,结构体是大量存在的。研发人员常使用结构体来封装一些属性来组成新的类型。由于C语言内部程序比较简单,研发人员通常使用结构体创造新的“属性”,其目的是简化运算。

        结构体在函数中的作用不是简便,其最主要的作用就是封装封装的好处就是可以再次利用。让使用者不必关心这个是什么,只要根据定义使用就可以了。

        总而言之,结构体的出现可以帮助我们更好地去描述一个复杂对象。


1.2 结构的声明

《C游记》 番外篇(贰)结构思维禅性稳 四众皆倡结构体_第1张图片


 例如,描述一个学生:

《C游记》 番外篇(贰)结构思维禅性稳 四众皆倡结构体_第2张图片


  1.3 结构成员的类型

        结构的成员可以是标量、数组、指针,甚至是其他结构体。

        结构体的成员可以包含其他结构体,也可以包含指向自己结构体类型的指针,而通常这种指针的应用是为了实现一些更高级的数据结构如链表等。     《C游记》 番外篇(贰)结构思维禅性稳 四众皆倡结构体_第3张图片


(贰) 结构体变量的定义和初始化

《C游记》 番外篇(贰)结构思维禅性稳 四众皆倡结构体_第4张图片


 《C游记》 番外篇(贰)结构思维禅性稳 四众皆倡结构体_第5张图片


《C游记》 番外篇(贰)结构思维禅性稳 四众皆倡结构体_第6张图片


《C游记》 番外篇(贰)结构思维禅性稳 四众皆倡结构体_第7张图片

《C游记》 番外篇(贰)结构思维禅性稳 四众皆倡结构体_第8张图片 

(叁)结构体成员的访问 

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

《C游记》 番外篇(贰)结构思维禅性稳 四众皆倡结构体_第9张图片

我们可以看到  有成员   name  和  age  ; 那我们如何访问s的成员? 

《C游记》 番外篇(贰)结构思维禅性稳 四众皆倡结构体_第10张图片


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

如下:

《C游记》 番外篇(贰)结构思维禅性稳 四众皆倡结构体_第11张图片


(肆) 结构体传参

直接上代码,大家判断一下下面的  print1  和  print2  函数哪个好些?

《C游记》 番外篇(贰)结构思维禅性稳 四众皆倡结构体_第12张图片


答案是:首选print2函数。 原因:

简单来说:一个是传值调用(1),一个是传址调用(2)

这样可以避免重复生成大块的结构体空间,提高效率


 结论: 结构体传参的时候,要传结构体的地址。

 

 

 

你可能感兴趣的:(C游记,c语言,开发语言,后端)