Ich habe noch nie eine solche Notation in C gesehen. Warum steht vor dem Variablennamen ein Punkt?
Dies dient für Initialisierung von Struct-Mitgliedern (sie sind keine Variablen) im “neuen” C99-Stil (einige Compiler haben möglicherweise das gleiche Format verwendet, sogar bevor C99 herausgegeben wurde).
Geben Sie in einem Strukturinitialisierer den Namen eines zu initialisierenden Felds mit ‘.fieldname =’ vor dem Elementwert an. Zum Beispiel bei folgender Struktur:
struct point { int x, y; };
folgende Initialisierung
struct point p = { .y = yvalue, .x = xvalue };
ist äquivalent zu
struct point p = { xvalue, yvalue };
sidyll
Es wird manchmal als “designierte Initialisierung” bezeichnet. Dies ist eine C99-Ergänzung, obwohl es für eine Weile eine GNU-Erweiterung war.
In der Liste, jeder . benennt ein Mitglied der zu initialisierenden Struktur, den sogenannten Designator.
14151300cookie-checkWas bedeutet ein Punkt vor dem Variablennamen in struct?yes
Dies dient für Initialisierung von Struct-Mitgliedern (sie sind keine Variablen) im “neuen” C99-Stil (einige Compiler haben möglicherweise das gleiche Format verwendet, sogar bevor C99 herausgegeben wurde).
– pmg
20. September 2011 um 15:45 Uhr