Heim >Backend-Entwicklung >C++ >Wie füllt die Array-Initialisierung Arrays in C und C mit Nullen?
Wie die Array-Initialisierung Arrays mit Nullen füllt
Die Initialisierung von Arrays wie char array[100] = {0} verwendet eher einen einfachen Mechanismus als jede arkane Magie.
In C ist gemäß Abschnitt 6.7.8.21 der C-Spezifikation die Der Compiler weist Zeiger auf NULL und arithmetische Typen auf Null für undefinierte Array-Elemente zu. Dieser Prozess wird rekursiv auf Aggregate angewendet.
In C schreibt Abschnitt 8.5.1.7 der C-Spezifikation vor, dass der Compiler undefinierte Array-Elemente aggregiert.
Darüber hinaus bietet C eine Option für eine leere Initialisierungsliste , char array[100] = {}, was die Aggregatinitialisierung für alle Array-Elemente auslöst.
Zu Um in solchen Situationen Einblicke in den vom Compiler generierten Code zu erhalten, lesen Sie die Diskussion in der Frage „Seltsame Assembly aus Array 0-Initialisierung.“
Das obige ist der detaillierte Inhalt vonWie füllt die Array-Initialisierung Arrays in C und C mit Nullen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!