c语言结构体赋值问题
对于结构体赋值问题:
1 static psl{ 2 int a; 3 char ch; 4 };
我过去一般会对结构体这样赋值:
static psl pslname = { 10, 'b', };
记住有一点,‘b’ 后面的逗号可有可无,至于具体为什么,我只能理解自己能力还不够。
现在只知道可有可无。
上面这种赋值方式是对的。
看看下面的一种赋值方式:
static psl pslname = { .a = 10, .ch = 'b' };
这种方式也是对的。
点就代表了pslname。
这种方式赋值可以使赋值的顺序变化。
static psl pslname = { .ch = 'b', .a = 10, };
在linux内核里面有很多这样对结构体赋值的。
初次看这种代码,自己有点不懂,特此把它记下。