stdio.h ·
stdlib.h ·
string.h ·
ctype.h ·
math.h ·
time.h
Die C Standardbibliothek bietet eine Vielzahl von Funktionen für Ein-/Ausgabe, Speicherverwaltung, String-Operationen, Mathematik und mehr – unverzichtbar für die C-Programmierung.
stdio.h (Standard Input/Output) enthält Funktionen für die Ein- und Ausgabe – von der Konsole bis zu Dateien.
| Funktion | Beschreibung |
|---|---|
| printf(format, ...) | Formatierte Ausgabe auf der Konsole |
| scanf(format, ...) | Formatierte Eingabe von der Konsole |
| fopen(path, mode) | Öffnet eine Datei |
| fclose(file) | Schließt eine Datei |
| fprintf(file, format, ...) | Formatierte Ausgabe in Datei |
| fscanf(file, format, ...) | Formatierte Eingabe aus Datei |
| fgets(str, size, file) | Liest eine Zeile aus Datei |
| fputs(str, file) | Schreibt eine Zeile in Datei |
| getchar() | Liest ein Zeichen von der Konsole |
| putchar(c) | Schreibt ein Zeichen auf die Konsole |
fgets() statt scanf() für sichere Eingabe von Strings – scanf() kann bei längeren Eingaben zu Buffer Overflows führen.
stdlib.h (Standard Library) enthält Funktionen für Speicherverwaltung, Konvertierungen, Zufallszahlen und Sortierung.
| Funktion | Beschreibung |
|---|---|
| malloc(size) | Alloziert Speicher (ungefährter Inhalt) |
| calloc(count, size) | Alloziert Speicher (null-initialisiert) |
| realloc(ptr, size) | Vergrößert/verkleinert Speicher |
| free(ptr) | Gibt Speicher frei |
| atoi(str) | Konvertiert String zu int |
| atof(str) | Konvertiert String zu double |
| rand() | Zufallszahl (0 - RAND_MAX) |
| srand(seed) | Setzt Seed für rand() |
| qsort(base, num, size, cmp) | Sortiert ein Array |
| exit(status) | Beendet das Programm |
calloc() statt malloc(), wenn der Speicher mit 0 initialisiert werden soll. Prüfen Sie immer, ob malloc()/calloc() NULL zurückgibt!
string.h enthält Funktionen für die Verarbeitung von null-terminierten Strings – Kopieren, Verketten, Vergleichen und Suchen.
| Funktion | Beschreibung |
|---|---|
| strlen(str) | Länge des Strings (ohne '\0') |
| strcpy(dest, src) | Kopiert String (unsicher) |
| strncpy(dest, src, n) | Kopiert maximal n Zeichen (sicherer) |
| strcat(dest, src) | Hängt String an (unsicher) |
| strncat(dest, src, n) | Hängt maximal n Zeichen an (sicherer) |
| strcmp(s1, s2) | Vergleicht Strings (0 = gleich) |
| strncmp(s1, s2, n) | Vergleicht maximal n Zeichen |
| strchr(str, c) | Findet erstes Vorkommen von c |
| strrchr(str, c) | Findet letztes Vorkommen von c |
| strstr(str, sub) | Findet Teilstring |
| strtok(str, delim) | Zerlegt String in Tokens |
strcpy() und strcat() sind unsicher, da sie keinen Größencheck haben. Verwenden Sie stattdessen strncpy() und strncat() oder snprintf().
ctype.h enthält Funktionen zur Prüfung und Konvertierung von Zeichen – ob Buchstabe, Ziffer, Leerzeichen oder Groß-/Kleinschreibung.
| Funktion | Beschreibung |
|---|---|
| isalnum(c) | Prüft auf alphanumerisches Zeichen (A-Z, a-z, 0-9) |
| isalpha(c) | Prüft auf Buchstabe (A-Z, a-z) |
| isdigit(c) | Prüft auf Ziffer (0-9) |
| islower(c) | Prüft auf Kleinbuchstabe |
| isupper(c) | Prüft auf Großbuchstabe |
| isspace(c) | Prüft auf Leerzeichen, Tab, Newline, etc. |
| ispunct(c) | Prüft auf Satzzeichen (nicht alphanumerisch und kein Leerzeichen) |
| isxdigit(c) | Prüft auf hexadezimale Ziffer (0-9, A-F, a-f) |
| toupper(c) | Konvertiert zu Großbuchstabe |
| tolower(c) | Konvertiert zu Kleinbuchstabe |
ctype.h-Funktionen sind besonders nützlich für die Validierung von Benutzereingaben und die Formatierung von Text. Sie arbeiten mit int-Werten, die EOF sein können.
math.h enthält mathematische Funktionen für Trigonometrie, Potenzen, Logarithmen und andere Berechnungen. Beim Linken muss oft die Mathematik-Bibliothek eingebunden werden (-lm).
| Funktion | Beschreibung |
|---|---|
| sqrt(x) | Quadratwurzel |
| pow(x, y) | Potenz xy |
| sin(x), cos(x), tan(x) | Trigonometrische Funktionen (x im Bogenmaß) |
| asin(x), acos(x), atan(x) | Arkustrigonometrische Funktionen |
| exp(x) | ex |
| log(x) | Natürlicher Logarithmus (Basis e) |
| log10(x) | Logarithmus zur Basis 10 |
| fabs(x) | Absolutwert (double) |
| ceil(x) | Aufrunden (zum nächsten größeren Integer) |
| floor(x) | Abrunden (zum nächsten kleineren Integer) |
| M_PI | Konstante π (nicht standardisiert, oft verfügbar) |
-lm linken: gcc programm.c -o programm -lm.
time.h enthält Funktionen für Zeit- und Datumsoperationen – von der aktuellen Zeit über Zeitmessung bis zur formatieren Ausgabe.
| Funktion | Beschreibung |
|---|---|
| time(t) | Gibt die aktuelle Kalenderzeit zurück (Sekunden seit 1970) |
| clock() | Gibt die Prozessorzeit zurück (für Laufzeitmessung) |
| difftime(t1, t2) | Differenz in Sekunden (t1 - t2) |
| localtime(t) | Konvertiert zu lokaler Zeit (struct tm) |
| gmtime(t) | Konvertiert zu UTC (struct tm) |
| asctime(tm) | Konvertiert struct tm zu String |
| ctime(t) | Konvertiert time_t zu String (asctime(localtime(t))) |
| strftime(buffer, size, format, tm) | Formatierte Ausgabe der Zeit |
| mktime(tm) | Konvertiert struct tm zu time_t |
clock() anstelle von time() – es misst die CPU-Zeit und ist genauer für kurze Codeabschnitte.
stdio.h
stdlib.h
string.h
ctype.h
math.h
time.h
#include <stdio.h> ·
#include <stdlib.h> ·
#include <string.h>