Abfrage:
C-Anfänger fragen sich oft nach den besten Vorgehensweisen für die Initialisierung Arrays, die mit dem neuen Operator zugewiesen wurden. Ist es vorzuziehen, jedes Element manuell zu durchlaufen und auf 0 zu setzen, oder gibt es eine effizientere Methode?
Antwort:
Überraschenderweise bietet C eine spezielle Syntax für Wertinitialisierende Arrays:
new int[10]();
Es ist wichtig, die leeren Klammern einzuschließen; Die Verwendung von (0) oder anderen Eingaben würde mit dieser Technik nicht funktionieren.
Dieses Verhalten ist in ISO C 03 5.3.4[expr.new]/15 beschrieben, das einen neuen Ausdruck mit einem ()-Initialisierer angibt führt unabhängig vom Array-Typ eine Wertinitialisierung durch.
Im Gegensatz dazu weist die (Ausdruckslisten-)Form der Initialisierung Einschränkungen auf, die Array-Typen nicht zulassen.
Das obige ist der detaillierte Inhalt vonWie initialisiert man Arrays, die mit dem „new'-Operator in C zugewiesen wurden, effizient?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!