Was bedeutet ein Punkt vor den Namen der Variablen in struct bedeuten?
Blick auf die linux-kernel-source, fand ich dies:
static struct tty_operations serial_ops = {
.open = tiny_open,
.close = tiny_close,
.write = tiny_write,
.write_room = tiny_write_room,
.set_termios = tiny_set_termios,
};
Habe ich noch nie gesehen, wie eine notation in C.
Warum ist es ein Punkt vor den Namen der Variablen?
- Das ist für die Initialisierung von struct-Mitglieder (Sie sind keine "Variablen") in der "neuen" C99-Stil (einige Compiler haben das gleiche format, auch vor C99 war ausgestellt).
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies ist ein Designierte Initialisierer, die syntax Hinzugefügt, die für C99.
Es ist manchmal genannt "bezeichnete Initialisierung". Das ist ein C99-Ergänzung, obwohl es schon eine GNU-Erweiterung für eine Weile.
In der Liste, jeder
.
benennt ein Mitglied des struct initialisieren, die sogenannte Kennung.