原作地址:https://www.cnblogs.com/zhangfeionline/p/5913905.html

最近写c语言中的结构体遇到了些问题,从网上找了些资料如下:

结构体是连续存储的,但由于结构体中成员类型各异,所以会存在内存对齐问题,也就是内存里面会有空档,具体的对齐方式这里 暂不讨论;

1.结构体的定义和赋值 

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

数据类型   成员名n;
};

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

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

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


3.结构体初始化操作

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

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

4.结构体嵌套


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

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

C语言中的结构体,结构体中数组初始化与赋值C语言中的结构体,结构体中数组初始化与赋值
C语言中的结构体,结构体中数组初始化与赋值C语言中的结构体,结构体中数组初始化与赋值


相关文章: