Atari Logo
Atari Computer

Hauptseite -
Welches System? -
Hardware -
Software -
Emulatoren -
Internet
MausNet
Programmieren
Verweise
Über

C

Home Die ANSI Bibliotheken math.h assert.h

13.5 stdlib.h

In stdlib.h sind diverse Funktionen definiert, die sich nicht in die anderen Bibliotheken einordnen lassen.

double atof( const char *str );
Diese Funktion wandelt einen String in einen double um.
 
int atoi( const char *str );
Diese Funktion wandelt einen String in einen int um.
 
long atol( const char *str );
Diese Funktion wandelt einen String in einen long um.
 
void *malloc( size_t size );
Diese Funktion liefert einen Zeiger auf einen Speicherblock der Größe size. Wenn der Speicher nicht mehr benötigt wird, muß er mit free wieder freigegeben werden.
 
void *calloc( size_t elt_count, size_t elt_size );
Diese Funktion liefert einen Speicherblock für elt_count Elemente der Größe elt_size. Der Speicher wird von calloc mit 0 initialisiert.
 
void free( void *ptr );
Diese Funktion gibt den Speicher, der mit malloc, calloc oder realloc angefordert wurde, wieder an die Speicherverwaltung zurück.
 
void *realloc( void *ptr, size_t size );
Diese Funktion ändert die Größe des Speicherbereichs ptr auf size. Der bishereige Inhalt von ptr bleibt erhalten.
 
int abs( int x );
Diese Funktion liefert den Absolutbetrag von x als int, schneidet also das Vorzeichen ab.
 
long labs( long x );
Diese Funktion liefert den Absolutbetrag von x als int.
 
div_t div( int n, int d );
Diese Funktion teilt n durch d und liefert das Ergebnis in der Struktur vom Typ div_t, die das ganzzahlige Ergebnis und den Rest beinhaltet.
 
ldiv_t ldiv( long n, long d );
Diese Funktion arbeitet wie div, aber mit long statt int Werten.
 
int rand( void );
Diese Funktion liefert eine ganzzahlige Pseudo-Zufallszahl zwischen 0 und RAND_MAX.
 
void srand( unsigned int seed );
Diese Funktion setzt seed als neuen Startwert für eine neue Zufallszahlenfolge.
 
double strtod( const char *s, char **endptr );
Diese Funktion wandelt einen String in einen double um. Für endptr kann die Adresse eines Pointers übergeben werden. Dieser Pointer wird dann auf das erste Zeichen aus s gesetzt, das nicht mehr für die Konvertierung benutzt wird. Wird für endptr NULL übergeben, ist die Funktion äquivalent zu atod.
 
long strtol( const char *s, char **endptr, int base );
Diese Funktion arbeitet wie strtod, liefert aber einen long und in base wird die Basis des verwendeten Zahlensystems übergeben. Hat base den Wert 0, wird versucht, die Umwandlung für die Basis 8, 10 oder 16 durchzuführen. In diesem Fall zeigt eine führende Null das Oktalsystem und ein führendes 0x oder 0X das Hexadezimalsystem an.
 
unsigned long strtoul( const char *s, char **endptr, int base );
Diese Funktion arbeitet wie strtoul, liefert aber einen unsigned long.
 
int system( const char *command );
Diese Funktion übergibt den String command an das System zur Ausführung. Sowohl der Aufbau des Kommandos als auch das Ergebnis sind von dem verwendeten System und dem Kommandointerpreter abhängig und damit nicht prtabel!
 
void exit( int status );
Diese Funktion beendet das Programm normal mit dem Returnwert status. Es werden auch die mit atexit gesetzten Funktionen aufgerufen. Um den Programmlauf übersichtlich zu halten, sollte ein Programm allerdings möglichst mit dem Ende von main terminieren.
 
void abort( void );
Diese Funktion sorgt für eine annormale Beendigung des Programms.
 
int atexit( void (*func)( void ) );
Diese Funktion setzt eine Funktion, die bei Beendigung des Programms aufgerufen wird. Konnte die Funktion nicht gesetzt werden, wird ein Wert ungleich Null zurück geliefert. Wenn ein Programm immer mit dem Ende von main terminiert, kann auch dort eine solche "Aufräumfunktion" aufgerufen werden.
 
char *getenv( const char *name );
Diese Funktion liefert den Wert der Umgebungs- bzw. Environmentvariable name. Eine etwas bekanntere Umgebungsvariable dürfte PATH sein.
 
void *bsearch( const void *key, const void *base, size_t nmemb, size_t size, int (*compar)() );
Diese Funktion sucht in dem Feld base nach dem Eintrag key. Der Parameter nmemb gibt an, wieviel Einträge das Feld enthält und size die Größe von jedem Element. Das Feld muß aufsteigend sortiert sein und der Vergleich wird mit der Funktion compar durchgeführt. Diese Funktion bekommt zwei Zeiger auf Elemente und muß einen Wert kleiner 0 liefern, wenn der erste Parameter kleiner ist, 0 für Gleichheit und größer 0, wenn der zweite Parameter kleiner ist.
 
void qsort( void *base, size_t nmemb, size_t size, int (*compar)() );
Diese Funktion sortiert das Feld base in aufsteigender Reihenfolge. Das Feld enthält nmemb Elemnte der Größe size. Den Vergleich wird von der Funktion compar durchgeführt, für die das gleiche gilt, wie unter bsearch beschrieben.
 

Home Die ANSI Bibliotheken math.h assert.h


Best viewed with any browser English version not yet available.

Änderungen und Irrtümer vorbehalten. Letzte Änderung:
14 September 2001.
Home - Mail an den Webmaster - Impressum