BLATT   >   Grundlagen   >   C-Library Arbeitsmaterialien  |  Grundlagen  |  ÖH-Wahlen  |  Statistiken  |  Unirecht  
    ▸ Übersichten       ▸ Astronomie       ▸ C-Library       ▸ Digitales       ▸ Mathematik       ▸ Periodensystem
Übersichten
    • Größenvorsätze
    • SI-Basisgrößen
    • abgeleitete Größen
    • Konstanten
    • sonstige Einheiten
    • Greek Chars
    • Einheitskonten
    • Funktionsgrafik
    • Wellenformen
    • Zeichensatz

Astronomie
    • Astrophysik
    • Sonnensystem
    • Sternenklassen

C-Library
    • math.h
    • stdio.h
    • stdlib.h
    • string.h
    • time.h

Digitales
    • Aussagelogik
    • Flip-Flops
    • Decoder

Mathematik
    • Algebra
    • Geometrie
    • Trigonometrie
    • Differenzieren
    • Integrieren

Periodensystem
    • Übersicht
    • alphabetisch
    • Aggregatzustand
    • Metall-Eigenschaft
    • Säure-Eigenschaft

Wörterbücher
C-Library

stdlib.h     lsearch     lineares Suchen


Format:void* lsearch ( const void * key, const void * base, size_t num, size_t width, int (*fncompare)(const void *, const void * ) );
 
Bedeutung:Sucht nach einem Schlüsselbegriffen in einem Array und gibt die Adresse des ersten Eintrags zurück.
Parameter:key: Zeiger auf des Objekt mit den Suchbegriffen
base: Zieger auf jenen Array, der durchsucht werden soll
num: Anzahl der Elemente im zu durchsuchenden Array.
width: Größe der Elemente in Bytes
fncompare: Vergleichsfunktion (siehe Tabelle)
Rückgabewert:    Zeiger auf den ersten gefundenen Eintrag im durchsuchten Array, ansonsten NULL.


Vergleichsfunktion-Tabelle

Deklaration: int fncompare (const void * elem1, const void * elem2 );

<0*elem1 < *elem2
  0*elem1 == *elem2  
>0  *elem1 > *elem2


Beispiel:

#include <stdio.h>
#include <stdlib.h>
int values[] = { 10, 40, 25, 90, 20, 100 };

int compare (const void * a, const void * b)
{
    return ( *(int*)a - *(int*)b );
}

int main ()
{
    int * i;
    int key = 40;
    i = (int*) lsearch (&key, values, 6, sizeof (int), compare);
    if (i != NULL)
        printf ("%d ist im Array vorhanden.\n", *i);
    else
        printf ("%d ist im Array nicht vorhanden.\n", key);
    return 0;
}