Heim >Backend-Entwicklung >C++ >Wie kann ich alle Elemente eines C-Arrays auf einen bestimmten Wert ungleich Null initialisieren?

Wie kann ich alle Elemente eines C-Arrays auf einen bestimmten Wert ungleich Null initialisieren?

Susan Sarandon
Susan SarandonOriginal
2024-12-20 01:05:09566Durchsuche

How Can I Initialize All Elements of a C   Array to a Specific Non-Zero Value?

Initialisierung von Arrays auf einen Standardwert in C

Bei der Initialisierung von Arrays in C verwenden Sie die Syntax int array[100] = {- 1}; Setzt nur das erste Element auf den angegebenen Wert, während die übrigen Elemente auf 0 initialisiert werden. Dies liegt daran, dass die Syntax {} nur das erste Element initialisiert, während der Rest mit Standardwerten initialisiert wird.

Um alle Elemente auf einen bestimmten Wert ungleich Null zu initialisieren, z. B. -1, muss die Funktion std::fill_n aus dem Header kann verwendet werden:

std::fill_n(array, 100, -1);

Alternativ kann in portablem C ohne die Funktion std::fill_n eine Schleife verwendet werden:

for (int i = 0; i < 100; i++) {
  array[i] = -1;
}

In Bezug auf die Leistung wird das Array mit a initialisiert Ein Wert ungleich Null über die Funktion std::fill_n oder eine Schleife hat keinen wesentlichen Leistungsunterschied im Vergleich zur Verwendung der {}-Syntax für a Wert 0. In beiden Fällen optimiert der Compiler den Initialisierungsprozess.

Das obige ist der detaillierte Inhalt vonWie kann ich alle Elemente eines C-Arrays auf einen bestimmten Wert ungleich 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