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内核里面有很多这样对结构体赋值的。

初次看这种代码,自己有点不懂,特此把它记下。

原文地址:https://www.cnblogs.com/pslfree/p/3341382.html