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

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

Susan Sarandon
Freigeben: 2024-12-28 22:03:11
Original
257 Leute haben es durchsucht

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

Elemente eines Arrays auf einen Standardwert in C initialisieren

Die Frage ergibt sich aus einer Array-Initialisierung in C mit der Syntax:

int array[100] = {-1};
Nach dem Login kopieren

Diese Initialisierung setzt das erste Element auf -1 und belässt die übrigen Elemente auf 0, was nicht der gewünschte Wert ist Verhalten. Um dieses Problem anzugehen, müssen die folgenden Punkte berücksichtigt werden:

Syntaxinterpretation

Die Syntax int array[100] = {-1}; Im Wesentlichen heißt es: „Setzen Sie das erste Element auf -1 und den Rest auf 0.“ Wenn Elemente in einer Array-Deklaration weggelassen werden, werden sie standardmäßig automatisch auf 0 initialisiert.

Alle Elemente auf einen Wert ungleich Null setzen

Um alle Elemente zu initialisieren Bei einem Wert ungleich Null wie -1 kann man sich nicht ausschließlich auf die Standardinitialisierung mit ausgelassenen Werten verlassen. Stattdessen können die folgenden Ansätze verwendet werden:

  1. std::fill_n: Mit der Funktion std::fill_n aus dem Bibliothek:
std::fill_n(array, 100, -1);
Nach dem Login kopieren
  1. Schleife: In Standard C wäre das Erstellen einer Schleife zum Zuweisen von Werten zu jedem Element erforderlich:
for (int i = 0; i < 100; i++) {
  array[i] = -1;
}
Nach dem Login kopieren

Geschwindigkeitsvergleich

Die Geschwindigkeit der Standardinitialisierung im Vergleich zu einer Schleife ist nicht deutlich anders. Bei beiden Ansätzen werden Elemente nacheinander initialisiert, sodass die zeitliche Komplexität gleich bleibt. Allerdings können durch die Verwendung von std::fill_n im Vergleich zu einer manuellen Schleife einige Anweisungen eingespart werden, sodass die Schleife in den meisten Fällen etwas schneller ist.

Das obige ist der detaillierte Inhalt vonWie initialisiere ich alle Elemente eines C-Arrays auf einen bestimmten Wert ungleich Null?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage