0

这个宏有什么作用?我无法理解它的定义:

#define PAIR(def) [def] = { .name = #def, .val = def, },

来自:ltp-full-20120401/lib/tst_res.c 第 183 行

您可以从此链接获取源代码

4

1 回答 1

2

看起来它是用来初始化结构数组的。

#define PAIR(def) [def] = { .name = #def, .val = def, },

如下使用的宏PAIR(FOOBAR)将扩展为:

[FOOBAR] = { .name = "FOOBAR", .val = FOOBAR, },

.name并且.val将是struct数组元素类型的成员。

于 2012-05-19T05:49:35.907 回答