一、前言
结构体作为C语言中的重要一环,可以用它来对数据进行封装,把一些相似的成员放在同一个结构体中,其对于代码的可维护性以及移植性等带来的好处不言而喻。
当结构体变量被定义后,其内部成员会被系统自动分配在一段地址连续的内存空间中,这使得我们的引用操作也变得方便许多。
一些同学在刚接触结构体时,容易对结构体的定义以及声明这块搞不清楚,下面我把结构体的声明和定义归类总结了一下,分享给大家。
二、名词解释在C语言中,结构体(struct)指的是一种数据结构,是C语言中聚合数据类型(aggregate data type)的一类。结构体可以被声明为变量、指针或数组等,用以实现较复杂的数据结构。结构体同时也是一些元素的集合,这些元素称为结构体的成员(member),且这些成员可以为不同的类型。
简单来说就是:由一系列具有相同类型或不同类型的数据构成的数据集合,叫做结构体(struct)。
三、结构体声明结构体声明一般是放在一个.h文件中,当需要定义结构体时,再include包含一下该头文件即可。
头文件代码如下:
声明结构体是不占内存空间的,也不会生成变量,推荐在.h中对头文件进行声明。
四、结构体定义及初始化在.c文件中对结构体变量进行定义
有几种定义方式,看代码:
#include "stdio.h" #include "struct_demo.h"/** 结构体初始化的几种方式: * */student1_t student1 = {18,90,"boy"}; //1、定义时赋初值,需要按顺序填写 student1_t student2 = { //2、定义时赋初值,可以打乱顺序 .age = 19, .score = 95, .sex = "girl"}; student1_t student3 = { //3、定义时赋初值,可以打乱顺序 age : 19, score : 95, sex : "girl~"}; //第四种方法是直接引用赋值,这里不再举例了。int main(){ printf("%d,%d,%srn",student1.age,student2.score,student3.sex); printf("%d,%drn",stu4.age,stu6.score); return 0;} 五、运行 六、结语如您在使用过程中有任何问题,请加QQ群进一步交流。
QQ交流群:906015840 (备注:物联网项目交流)。
获取资料:微信扫描下方二维码,关注公众号:一个物联网项目的前世今生。
静晨出品:静之所想,晨之所计