Array-Initialisierung in C verstehen
Das Thema der Array-Initialisierung in C kann verwirrend sein, insbesondere wenn versucht wird, alle Elemente auf ein Nicht-Element zu initialisieren -null Standardwert. In diesem Artikel gehen wir auf häufige Fragen ein und bieten Lösungen für eine effektive Array-Initialisierung.
Anfangswerteinstellung
Im angegebenen Code:
int array[100] = {-1};
Es wird erwartet, dass alle Elemente auf -1 initialisiert werden. Allerdings wird nur das erste Element auf -1 gesetzt; Die restlichen Elemente werden mit einigen Zufallswerten auf 0 initialisiert. Dies liegt daran, dass die ausgelassenen Elemente implizit auf 0 gesetzt werden.
Um alle Elemente auf -1 zu initialisieren, lautet die korrekte Syntax:
int array[100] = {-1, -1, -1, ...};
oder Sie können die Funktion std::fill_n verwenden aus dem
std::fill_n(array, 100, -1);
Leistungsvergleich
Die Standardinitialisierungsmethode (int array[100] = {-1};) und die std::fill_n-Methode Führen Sie die Array-Initialisierung effizient durch. Auch wenn die Standardinitialisierung möglicherweise schneller erscheint, ist es wichtig zu beachten, dass sie von der Implementierung abhängig sein kann und nicht garantiert ist, dass sie in allen Fällen schneller ist.
Für größere Arrays ist die Methode std::fill_n im Allgemeinen effizienter als Es vermeidet die Erstellung temporärer Variablen für jede Elementzuweisung.
Das obige ist der detaillierte Inhalt vonWie kann ich alle Elemente eines C-Arrays effizient auf einen Wert ungleich Null initialisieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!