c语言中结构体的使用,C语言中结构体的使用***教程
dfnjsfkhak
28
大家好,今天小编关注到一个比较有意思的话题,就是关于c语言中结构体的使用的问题,于是小编就整理了3个相关介绍c语言中结构体的使用的解答,让我们一起看看吧。
- c语言中结构体的作用到底是干什么的,能通俗点讲吗?
- C语言中为什么要使用结构体?
- 为什么要用C语言中的结构体?我感觉它有些难,不用的话有什么后果?
c语言中结构体的作用到底是干什么的,能通俗点讲吗?
【结构体作用】 结构体和其他类型基础数据类型一样,例如int类型,char类型 只不过结构体可以做成你想要的数据类型。以方便日后的使用。 在实际项目中,结构体是大量存在的。研发人员常使用结构体来封装一些属性来组成新的类型。 结构体在函数中的作用不是简便,其最主要的作用就是封装。封装的好处就是可以再次利用。让使用者不必关心这个是什么,只要根据定义使用就可以了。 结构体可以定义一些复杂数据类型,比如我要定义一个员工信息的结构体,就可以在结构体里添加员工编号、姓名、工资、地址、出生日期、电话等信息,有了结构体给编程带来很大的方便。
C语言中为什么要使用结构体?
C语言中使用结构体是为了程序的可读性更好。
C语言中的结构体可以定义一些复杂数据类型,把一些有内在联系的不同变量放在一起封装成一个整体,增强程序可读性,这就是结构体。
例如:以为例,学生存在学号,姓名,性别,班级等。此时你可以顶一个结构体,将这些学生信息封装到一个结构体中。
C语言中结构体至少有以下三个作用:
(1)有机地组织了对象的属性。
比如,在STM32的RTC开发中,我们需要数据来表示日期和时间,这些数据通常是年、月、日、时、分、秒。如果我们不用结构体,那么就需要定义6个变量来表示。这样的话程序的数据结构是松散的,我们的数据结构最好是“高内聚,低耦合”的。所以,用一个结构体来表示更好,无论是从程序的可读性还是可移植性还是可维护性皆是
(2)以修改结构体成员变量的方法代替了函数(入口参数)的重新定义。
如果说结构体有机地组织了对象的属性表示结构体“中看”,那么以修改结构体成员变量的方法代替函数(入口参数)的重新定义就表示了结构体“中用”。
函数的声明void DsipDateTime( _calendar_obj DateTimeVal)不需要改变,只需要增加结构体的成员变量,然后在函数的内部实现上对calendar.week作相应的处理即可。这样,在程序的修改、维护方面作用显著
为什么要用C语言中的结构体?我感觉它有些难,不用的话有什么后果?
看应用场景,像单片机开发是不需要用结构体的,定义几个简单的变量就能解决。如果是网络通讯开发,不用结构体,自己去填充char数组,那是要吐血的。比如IP头,就是一个结构,收到报文,用IP头结构体一指,就能轻易取出各个字段。要不然只能按段长度一段一段解析。
C语言的结构体是非常重要的语法,毕竟当初祖师爷发明C语言的其中一个首要任务就是要能提供数据的结构化。题主觉得结构体难,估计是因为初学C语言的缘故。
还记得刚开始接触 C 语言的时候,为了描述一个平行四边形的边长和对角线长,我定义了四个变量:短边长 a,长边长 b,对角线1长 d1,对角线2长 d2。
在写代码的过程中,发现又要定义一个平行四边形,于是我不得不又定义了四个变量:a2,b2,d12,d22,结果变量又多又乱,写代码很不舒服,太容易弄混了。当时我还想,幸好没有第三个,第四个平行四边形。
后来,我发现原来 C语言原来还有结构体这种语法,不禁感叹当初我那种做法实在是太笨了。
C语言初学者最先接触到的数据类型大多都只具有单一的值,例如整数,字符,真***值,小数,在C语言中(或者说编程语言中)这些数据类型通常被称作基本数据类型。
事实上,C语言中还有复合数据类型,那什么是复合数据类型呢?实际上,你可能已经用过复合数据类型了:由许多字符组成的字符串,就是典型的符合数据类型。
复合数据类型,其实就是由基本类型组成的数据类型。本节打算介绍的结构体也是一种复合数据类型,我们不讨论结构体的定义,直接看实例:
用 C 语言制定一个描述平行四边形边长和对角线长的结构体数据类型。
这个需求是容易实现的,我们用 double 类型来描述“长度”,那么结构体可以如下定义:
到此,以上就是小编对于c语言中结构体的使用的问题就介绍到这了,希望介绍关于c语言中结构体的使用的3点解答对大家有用。
标签: 结构
言中
类型
版权声明:本文来源于网络,不代表本站立场,如转载内容涉及版权等问题,请联系邮箱:83115484@qq.com,我们会予以删除相关文章,保证您的权利。