跑调的毕加索
发布于

结构的指定初始化器(Designated Initializers)

struct wifi_status {
    enum wmgState state;
    char ssid[SSID_MAX];
};

struct wifi_status mWifiStatus = {
    .state = STATE_UNKNOWN,
    .ssid = {'\0'},
};

这种初始化结构体的方式叫做指定初始化器(Designated Initializers)。它是 C 语言的一种特性,允许你通过成员的名称来初始化结构体的特定成员,而不必按照严格的顺序来初始化。指定初始化器使得初始化操作更加灵活和可读,尤其适用于结构体成员比较复杂或者需要初始化部分成员的情况下。

在你提供的例子中,.state = STATE_UNKNOWN 和 .ssid = '\0' 就是使用了指定初始化器来初始化 wifi_status 结构体变量 wifiInfo 的成员。

浏览 (332) 点赞 收藏 分享
评论