Heim >Backend-Entwicklung >C++ >Wie kann ich C-Strukturmitglieder auf Null initialisieren?
Standardinitialisierung von C-Strukturmitgliedern
In einer C-Struktur werden Mitglieder standardmäßig nicht automatisch auf 0 initialisiert. Um Strukturmitglieder auf 0 zu initialisieren, gibt es mehrere Optionen:
Wertinitialisierung
Durch die Verwendung leerer Klammern in Klammern { } werden allen Mitgliedern Standardwerte zugewiesen:
Snapshot s = {};
Übergeordnete Struktur Rekursion
Wenn eine übergeordnete Struktur eine Unterstruktur enthält, initialisiert die Wertinitialisierung der übergeordneten Struktur auch ihre Unterstrukturmitglieder auf 0:
struct Parent { Snapshot s; }; Parent p = {}; // p.s.{x,y} will be zero
Konstruktor Initialisierung
Wenn die Struktur einen Konstruktor hat, können Mitglieder in ihrem Parameter initialisiert werden Liste:
struct Snapshot { int x; double y; Snapshot():x(0),y(0) { } }; Snapshot s; // s.{x,y} will be zero
Wertinitialisierung mit ()
Wertinitialisierung, angegeben durch (), initialisiert Mitglieder unabhängig von ihrem Typ:
struct Snapshot { int x; double y; }; Snapshot s = {x(), y()}; // s.{x,y} will be zero
Beachten Sie, dass die Wertinitialisierung für Vorlagenstrukturen wichtig ist, um eine ordnungsgemäße Initialisierung für verschiedene Typen sicherzustellen.
Das obige ist der detaillierte Inhalt vonWie kann ich C-Strukturmitglieder auf Null initialisieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!