我在 Linux 内核中编写了一些 C 代码,具体位置可以参考此处。
static struct ctl_table ip_ct_sysctl_table[] = {
{
.procname = "ip_conntrack_max",
.maxlen = sizeof(int),
.mode = 0644,
.proc_handler = proc_dointvec,
},
// ...
{
.procname = "ip_conntrack_log_invalid",
.maxlen = sizeof(unsigned int),
.mode = 0644,
.proc_handler = proc_dointvec_minmax,
.extra1 = &log_invalid_proto_min,
.extra2 = &log_invalid_proto_max,
},
{ }
};
这里的结构体数组以 { }
结尾,它的目的是什么?
顺便提一下,这段代码上面还有另一个 结构体数组,但末尾没有空括号。
在什么情况下应该在结构体数组末尾使用空括号?