Folgende Headerdateien sind standardisiert:
Funktionen/funktionsähnliche Makros:
Name | Zweck |
assert() | Kontrolle von Invarianten in der Debugphase (siehe auch Fehlersuche mit Standard-C) |
Konstanten: -
Datentypen: -
Funktionen/funktionsähnliche Makros:
Konstanten: -
Datentypen: -
globale Variable errno und Definitionen zur Fehlerbehandlung, siehe Fehlerbehandlung.
Funktionen/funktionsähnliche Makros: -
Konstanten: -
Datentypen: -
Siehe Gebrochene Zahlen.
Funktionen/funktionsähnliche Makros: -
Konstanten:
Datentypen: -
Definitionen für Wertebereiche der ganzzahligen Datentypen.
Siehe Ganzzahlige Datentypen.
Funktionen/funktionsähnliche Makros: -
Konstanten:
Datentypen: -
Definitionen zur Einstellung landes- und sprachspezifischer Eigenschaften der Bibliotheksfunktionen. Die meisten Implementationen unterstützen keine weiteren Einstellungen, deshalb meist bedeutungslos.
Funktionen/funktionsähnliche Makros: -
Konstanten: -
Datentypen: -
Funktionsdeklarationen der mathematischen Funktionen.
Definition der Makros EDOM, ERANGE und HUGE_VAL.
Funktionen/funktionsähnliche Makros:
Name | Zweck |
acos() | Arkuskosinus |
asin() | Arkussinus |
atan() | Arkustangens (2 Quadranten) |
atan2() | Arkustangens (4 Quadranten) |
ceil() | Gleitkommazahl aufrunden |
cos() | Kosinus |
cosh() | Kosinus hyperbolicus |
exp() | Exponentialfunktion (
![]() |
fabs() | Absolutwert einer Gleitkommazahl |
floor() | Abrunden |
fmod() | Divisionsrest bei Gleitkommazahlen |
frexp() | Zerlegen einer double in Mantisse und Binärexponent |
ldexp() | Multiplikation einer double mit Zweierpotenz |
log() | natürlicher Logarithmus (zur Basis
![]() |
log10() | dekadischer Logarithmus (zur Basis 10) |
modf() | Zerlegen einer double in Vor- und Nachkommateil |
pow() | Potenzieren (siehe auch Potenzen mit ganzzahligen Exponenten) |
sin() | Sinus |
sinh() | Sinus hyperbolicus |
sqrt() | Quadratwurzel |
tan() | Tangens |
tanh() | Tangens hyperbolicus |
Konstanten:
Datentypen: -
Funktionsdeklarationen zu setjmp() und longjmp() zum Sprung über Funktionsgrenzen hinweg. Siehe longjmp().
Funktionen/funktionsähnliche Makros:
Name | Zweck |
longjmp() | Sprung zu einem mit setjmp() eingefrorenen Stand |
setjmp() | Sichern eines Programmzustands für longjmp() |
Konstanten: -
Datentypen:
Funktionen/funktionsähnliche Makros:
Name | Zweck |
raise() | Herbeiführen eines Signals für den aktuellen Prozeß |
signal() | Einstellen der Reaktion auf ein Signal |
Konstanten:
Datentypen: -
Verwendung variabler Parameterlisten, siehe va_start(), va_arg(), va_end().
Mit den in stdarg.h definierten Makros ist es innerhalb einer Funktion mit variabler Argumentliste möglich, die vom Aufrufer übergebenen Parameter zu erreichen.
Funktionen/funktionsähnliche Makros:
Name | Zweck |
\tt va_start() | Initialisierung zum Holen der Parameter |
\tt va_arg() | je Aufruf einen Parameter holen |
\tt va_end() | Beenden |
Konstanten: -
Datentypen:
Allgemein benötigte Definitionen
Funktionen/funktionsähnliche Makros: -
Konstanten:
Datentypen:
Funktionen und Makros zur gepufferten Ein- und Ausgabe
Funktionen/funktionsähnliche Makros:
Datentypen:
Konstanten:
Makros für die Art der Dateipufferung mit setvbuf(): _IONBF, _IOLBF, _IOFBF.
Deklarationen aller Funktionen, die nicht zu anderen Funktionsgruppen passen (wie etwa malloc(), qsort(), ...).
Funktionen/funktionsähnliche Makros:
Konstanten:
Datentypen: -
Handhabung von Strings und Speicherbereichen.
Funktionen, deren Namen mit mem...beginnen, werden für Speicherbereiche fester Länge verwendet.
Funktionen, die mit str... beginnen, arbeiten mit normalen zero terminated strings (nullterminierten Zeichenketten); siehe Strings. Funktionen mit strn...am Namensanfang ebenso, aber mit maximaler Länge.
string.h heißt auf älteren Unix-Systemen manchmal strings.h.
Funktionen/funktionsähnliche Makros:
Konstanten: -
Datentypen: -
Zur Laufzeitmessung eines Programms gibt es die Funktion clock(), welche die Anzahl der ,,Schläge`` der rechnerinternen Uhr (seit Programmstart) liefert. Das Makro CLOCKS_PER_SEC gibt die Anzahl dieser Schläge pro Sekunde an und kann zum Umrechnen in Sekunden benutzt werden. Der Ergebnistyp von clock() heißt clock_t und stellt in der Regel eine ganze Zahl dar, die auf Sekunden umgerechnet werden kann.
Beispiel siehe clock().
Funktionen/funktionsähnliche Makros:
Name | Zweck |
asctime() | liefert Stringdarstellung einer struct tm |
clock() | liefert Anzahl Timerticks (verbrauchte CPU-Zeit) seit Programmstart |
ctime() | liefert Stringdarstellung einer time_t |
difftime() | Differenz zweier time_t |
gmtime() | berechnet Greenwich Mean Time als struct tm aus der Ortszeit in time_t |
localtime() | berechnet Ortszeit als struct tm aus der Ortszeit in time_t |
mktime() | berechnet aus Ortszeit als struct tm die gepackte Form time_t |
strftime() | formatiertes Schreiben einer Zeit (struct tm) in String |
time() | aktuelle Systemzeit als time_t |
Konstanten: -
Datentypen: Datum und Uhrzeit werden in zwei verschiedenen Formen dargestellt.
struct tm { int tm_sec; /* Sekunde 0...59 */ int tm_min; /* Minute 0...59 */ int tm_hour; /* Stunde 0...23 */ int tm_mday; /* Monatstag 1...31 */ int tm_mon; /* Monat 0...11 */ int tm_year; /* Jahreszahl - 1900 */ int tm_wday; /* Wochentag So==0 */ int tm_yday; /* Tag im Jahr 0...365 */ int tm_isdst; /* Sommerzeit==1 */ };
Nicht standardisiert, aber relativ weit verbreitet sind die Headerdateien conio.h (ungepufferte Ein-/Ausgabe mit Terminal), io.h und fcntl.h (ungepufferte Dateien), process.h (Starten weiterer Prozesse) sowie direct.h (Verzeichnisverwaltung).
AnyWare@Wachtler.de