首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >这个C语法是什么(用于Linux驱动程序/net/粘接/bond_main.c)?

这个C语法是什么(用于Linux驱动程序/net/粘接/bond_main.c)?
EN

Stack Overflow用户
提问于 2014-08-01 06:57:19
回答 3查看 110关注 0票数 7

我以前写过很多C语言,但我不认识这个语法:

代码语言:javascript
复制
static const char *names[] = {
    [BOND_MODE_ROUNDROBIN] = "load balancing (round-robin)",
    [BOND_MODE_ACTIVEBACKUP] = "fault-tolerance (active-backup)",
    [BOND_MODE_XOR] = "load balancing (xor)",
    [BOND_MODE_BROADCAST] = "fault-tolerance (broadcast)",
    [BOND_MODE_8023AD] = "IEEE 802.3ad Dynamic link aggregation",
    [BOND_MODE_TLB] = "transmit load balancing",
    [BOND_MODE_ALB] = "adaptive load balancing",
};

在我看来,[...] =部分看起来很奇怪。(顺便说一句,BOND_MODE_ROUNDROBIN和其他宏都是宏,它们只是扩展到整数。)

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-08-01 07:00:25

它被称为指定的初始化器,它是在C99中引入的。GCC也支持它作为一个扩展。

它用于初始化结构和数组,详见指定初始化器

票数 9
EN

Stack Overflow用户

发布于 2014-08-01 07:00:14

那是一个指定初始化器。它允许您以任意顺序对数组的内容进行不雅化。

票数 4
EN

Stack Overflow用户

发布于 2014-08-01 07:00:19

这里的名称是char点的数组。

这些指针指向存储在只读部分中的字符串。

并使用指定的初始化器方法进行初始化。

因此,在这里,您可以初始化任何数组的任何顺序的索引。这些宏是数组的索引。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25074574

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档