C语言中的结构体,结构体数组2022-08-08 07:53:45C语言中的结构体是一个小难点,下面我们详细来讲一下:至于什么是结构体,结构体为什么会产生,我就不说了,原因很简单,但是要注意到是结构体也是连续存储的,但要注意的是结构体里面类型各异,所以必然会产生内存对齐的问题。也就是内存里面会有空档。 1.结构体的定义和赋值 结构体是可以直接初始化的,在定义的时候,就可以初始化,而且如果你的结构体中恰好有字符数组的话,这个时候初始化是不错的选择,原因很简单,字符数组只能定义的时候直接初始化 后来就不可以了,后来你就只能用strcpy函数来拷贝初始化了。 struct 结构体名 { 数据类型 成员名1; 数据类型 成员名2; : 数据类型 成员名n; }; 2.定义结构体变量的俩种方法: struct 结构体名 { 成员列表; }变量名1; struct 结构体名 变量名2; 访问结构体成员 结构体变量名.成员名 3.结构体初始化操作 struct 结构体名 变量名={初始数据表}; 无名结构体 没有类型名。 一般状态下:无名结构体不可以定义局部变量。 4.结构体嵌套 1--- 成员所属的数据类型是 结构体类型 2--- 内部的结构体通常定义为无名结构体 5.结构体数组 1--- 本质是数组,元素是结构体类型。定义了一堆结构体。 上一篇:Leetcode 137 只出现一次的数字II 位计数与位变换下一篇:Kafka:ZK+Kafka+Spark Streaming集群环境搭建(二十九):推送avro格式数据到topic,并使用spark structured streaming接收topic解析avro数据