Ich habe einen C- Code im Linux-Kernel getroffen:
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,
},
{ }
};
Hier endet ein Array von Strukturen mit { }
. Zu welchem Zweck wurde es hinzugefügt?
Etwas oberhalb dieses Codes befindet sich übrigens ein weiteres Array von Strukturen , jedoch ohne leere Klammern am Ende.
Wann sollte ich am Ende eines Arrays von Strukturen leere Klammern verwenden?
-pedantic
.