Heim >Backend-Entwicklung >C++ >Wie initialisiert „Array[100] = {0}' Array-Elemente in C und C auf Null?
Wie Array[100] = {0} die Elemente auf Null setzt
In C und C wird ein Array mit einem Single initialisiert Der Wert in geschweiften Klammern initialisiert nicht initialisierte Elemente mit einem Standardwert. Im Fall eines Zeichenarrays (z. B. char array[100] = {0}) setzt der Compiler die Elemente auf das Null-Abschlusszeichen (' ').
Interne Compiler-Initialisierung
In C initialisiert der Compiler primitive Typen (einschließlich Zeiger) auf Null. Bei aggregierten Datentypen (wie Arrays) wird diese Regel rekursiv auf alle Elemente angewendet.
In C aggregiert der Compiler nicht initialisierte Elemente von Arrays. Die Aggregatinitialisierung setzt die Elemente auf die Standardwerte ihrer jeweiligen Typen. Für primitive Typen ist dieser Null.
Leere Initialisierungsliste
C unterstützt auch die Aggregatinitialisierung mit einer leeren Initialisierungsliste (char array[100] = {}). In diesem Fall initialisiert der Compiler alle Elemente des Arrays auf ihre Standardwerte.
Vom Compiler generierter Code
Der vom Compiler generierte spezifische Assemblercode variiert je nach auf der Plattform und den Compilereinstellungen. Normalerweise initialisiert der Compiler jedoch jedes Element des Arrays einzeln mithilfe einer speziellen Anweisung.
Das obige ist der detaillierte Inhalt vonWie initialisiert „Array[100] = {0}' Array-Elemente in C und C auf Null?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!