结构体赋值的简单写法
比如结构体
typedef struct _abc { char a; short b; int c; } abc;
一般人知道可以这样写abc v={0,1,2};
二般人知道还可以这样写abc v={.c=2,.b=1}; 效果同上。
但这都是定义变量时赋初值,如果是二次赋值,大多数人都只会
v.a=0; v.b=1; v.c=2;
因为这时如果写成v={.c=2,.b=1}会出现编译错误。
但是,其实只需要做下类型转换,依然可以这样写
v=(abc){.c=2,.b=1};
虽然这里写的代码不是很明显,但是如果结构体成员变量比较多,变量名又比较长的时候,这个懒还是很值得偷的,而且个人感觉这样写也会更清楚一些。
0 条评论。