转 载 https://blog.csdn.net/ericbar/article/details/79567108
声明:本文内容为转载,具体请看上面转载链接。
方法三:定义时乱序赋值(C风格)
这种方法类似于第一种方法和第二种方法的结合体,既能初始化时赋值,也可以不考虑顺序;
struct InitMember test = {
.second = 3.141590,
.third = "method three",
.first = -10,
.four = 0.25
};
这种方法在Linux内核(kernel)中经常使用,在音视频编解码库FFmpeg中也大量频繁使用,还是很不错的一种方式。
方法四:定义时乱序赋值(C++风格)
这种方法和前一种类似,网上称之为C++风格,类似于key-value键值对的方式,同样不考虑顺序。
struct InitMember test = {
second:3.141590,
third:"method three",
first:-10,
four:0.25
};
结构体数组的定义:
struct a[10]= ...
2. 增加枚举命名
enum
{
DB_COMMIT,
COMMIT_MAX,
};
static const struct blobmsg_policy commit_policy[COMMIT_MAX] = {
[DB_COMMIT] = {.name = "commit", .type = BLOBMSG_TYPE_STRING},
};