Heim >Backend-Entwicklung >C++ >Wie kann ich C-Strukturmitglieder auf Null initialisieren?

Wie kann ich C-Strukturmitglieder auf Null initialisieren?

DDD
DDDOriginal
2024-12-08 10:08:12266Durchsuche

How Can I Initialize C   Struct Members to Zero?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn