一.结构体的初始化
方法1
struct x
{
int a;
int b;
};
struct x m = {1,2}
方法2
struct x
{
int a;
int b;
};
struct x m = {.a=1,.b=2};
注意在C99上才可以这样用
二.结构体变量之间的赋值
方法1
struct x m1;
struct x m2 = {.a=1,.b = 2};
m1.a = m2.a
ma.b = m2.b
方法2
struct x m1;
struct x m2 = {.a=1,.b = 2};
m1 = m2;
方法3
struct x m1;
struct x m2 = {.a=1,.b = 2};
memcpy(&m1,&m2,sizeof(m1));
需要理解的本质是,不论是变量、数组、结构体都是内存中的一块空间而已。他们之间的赋值只不过是把一块空间中的内容赋值到另一块空间中而已。
三.空结构体的占位作用
struct x
{
};
定义一个空结构体struct x,用sizeof(x)输出为1。说明一个空的结构体也会占用1个字节的空间。扩展开来,C语言中每一个定义的内容都是要占用空间的。
四.用结构体指针简化数据的解析
1.将数组接收到的数据通过结构体指针解析
#pragma pack(1)//强制对齐方式为一字节对齐
typedef stru
标签:体系,struct,int,m1,m2,赋值,结构
From: https://blog.csdn.net/sycc512/article/details/142021048