C语言中的结构体,结构体数组

Posted 张飞online

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言中的结构体,结构体数组相关的知识,希望对你有一定的参考价值。

 

C语言中的结构体是一个小难点,下面我们详细来讲一下:至于什么是结构体,结构体为什么会产生,我就不说了,原因很简单,但是要注意到是结构体也是连续存储的,但要注意的是结构体里面类型各异,所以必然会产生内存对齐的问题。也就是内存里面会有空档。

1.结构体的定义和赋值 

结构体是可以直接初始化的,在定义的时候,就可以初始化,而且如果你的结构体中恰好有字符数组的话,这个时候初始化是不错的选择,原因很简单,字符数组只能定义的时候直接初始化
后来就不可以了,后来你就只能用strcpy函数来拷贝初始化了。
struct 结构体名
{
数据类型   成员名1;
数据类型   成员名2;

数据类型   成员名n;
};

 2.定义结构体变量的俩种方法:

struct 结构体名
{
成员列表;
}变量名1;
struct 结构体名 变量名2;

 访问结构体成员
结构体变量名.成员名


3.结构体初始化操作

struct 结构体名 变量名={初始数据表};

无名结构体
没有类型名。
一般状态下:无名结构体不可以定义局部变量。

4.结构体嵌套


1--- 成员所属的数据类型是 结构体类型

2--- 内部的结构体通常定义为无名结构体

 

 

 

5.结构体数组

1--- 本质是数组,元素是结构体类型。定义了一堆结构体。

 

以上是关于C语言中的结构体,结构体数组的主要内容,如果未能解决你的问题,请参考以下文章

c 语言结构体中包含结构体 是数组吗

C语言,结构体中的数组怎么赋值,?

C语言,结构体中的数组怎么赋值,?

C语言中的结构体,结构体数组

C语言结构体数组的初始化

c语言结构体中的一个char数组怎么赋值?