我正在根据我的需要对 atheros SDK 进行更改,并希望了解结构中使用 (file_t)(-1), 0 的原因和目的:
struct channel channel =
{
(file_t)(-1),
0,
CHANNEL_ETHNUMBER,
CHANNEL_ETHDEVICE,
{
0x00,
0xB0,
0x52,
0x00,
0x00,
0x01
},
{
0x00,
0x00,
0x00,
0x00,
0x00,
0x00
},
0x0000,
#if defined (__linux__)
#elif defined (__APPLE__) || defined (__OpenBSD__)
0,
0,
0,
0,
#elif defined (WINPCAP) || defined (LIBPCAP)
(pcap_t *)(0),
{
0
},
#else
#error "Unknown Environment"
#endif
CHANNEL_TIMEOUT,
CHANNEL_OPTIONS
};
我不是在探索 SDK,如果有人建议开始,我会有所帮助。 谢谢你。
最佳答案
您已将变量 channel
的声明呈现为 struct channel
类型的结构。您询问的代码位于该变量的初始值设定项中:
(file_t)(-1),
0,
这些是用于初始化channel
前两个成员的值。第一个是 -1
,转换为 file_t
类型(必须是之前定义的),第二个是它本身。
这些成员的含义取决于struct channel
的详细信息及其使用方式,而您尚未提供这些信息。
关于c - 结构中的 (file_t)(-1),0 是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38658940/