Heim > Artikel > Backend-Entwicklung > Wie überprüfe ich, ob ein Element in einem C-Array vorhanden ist?
Überprüfen des Vorhandenseins von Array-Elementen in C
Um in C festzustellen, ob ein bestimmtes Element in einem Array vorhanden ist, sind mehrere Ansätze zu berücksichtigen . Im Gegensatz zu Java, wo typischerweise nach „Null“-Werten gesucht wird, bietet C alternative Lösungen, die auf sein spezifisches Programmierparadigma zugeschnitten sind.
Ein effektiver Ansatz besteht darin, die Standardbibliotheksfunktion std::find zu verwenden. Diese Funktion durchläuft die Elemente innerhalb des Arrays und gibt einen Zeiger auf das erste Vorkommen des angegebenen Elements zurück. Wenn das Element nicht gefunden wird, gibt std::find bequem einen Iterator zurück, der auf das Ende des Arrays zeigt. Diese Funktion ermöglicht präzisen und effizienten Code zur Bestimmung des Vorhandenseins eines Elements.
Das folgende Beispiel veranschaulicht die Verwendung von std::find, um innerhalb eines Arrays nach einem Element zu suchen:
Foo array[10]; ... // Initialize the array here Foo *foo = std::find(std::begin(array), std::end(array), someObject); if (foo != std::end(array)) { std::cerr << "Found at position " << std::distance(array, foo) << std::endl; } else { std::cerr << "Not found" << std::endl; }
Wenn sich das Element in diesem Beispiel innerhalb des Arrays befindet, zeigt foo auf seine Position. Die Funktion std::distance kann dann verwendet werden, um den Index des Elements innerhalb des Arrays zu bestimmen. Wenn das Element nicht vorhanden ist, zeigt foo stattdessen auf das Ende des Arrays und ermöglicht so das Drucken einer entsprechenden Meldung.
Mit diesen Techniken können Sie in C und effektiv nach bestimmten Elementen innerhalb eines Arrays suchen Gehen Sie entsprechend mit ihrer Anwesenheit oder Abwesenheit um.
Das obige ist der detaillierte Inhalt vonWie überprüfe ich, ob ein Element in einem C-Array vorhanden ist?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!