C99
Von cppreference.com
< c
ISO/IEC 9899:1999, auch bekannt als C99, ist eine frühere Überarbeitung des C-Standards.
| Dieser Abschnitt ist unvollständig Grund: Core-/Bibliotheksfunktionen, TC1~TC3, DRs |
Inhalt |
[bearbeiten] Veraltet
[bearbeiten] Entfernt
- Implizites int in Deklarationen
- Implizite Funktionsdeklarationen
[bearbeiten] Depreziert
[bearbeiten] Neue Sprachfunktionen
- Universal-Zeichennamen in Bezeichnern
- Erhöhte Übersetzungsgrenzwerte
- // Kommentare
- restrict-Zeiger
- Erweiterte arithmetische Typen
- _Bool
- long long und unsigned long long
- Erweiterte Ganzzahltypen
- _Complex-Typen (float _Complex, double _Complex und long double _Complex)
- _Imaginary-Typen (float _Imaginary, double _Imaginary und long double _Imaginary)
- Flexible Array-Member
- Variable-Längen-Array (VLA)-Typen und variabel modifizierte (VM) Typen
- Verbesserungen der geschweiften Initialisierungsliste für Array, Struct- und Union-Typen
- Nicht-konstante Initialisierer
- Bezeichner-Initialisierer
- Idempotente cvr-Qualifizierer
- Nachgestelltes Komma in Enumeratorliste
- Hexadezimale Gleitkommakonstanten
- Compound-Literale
- Gleitkomma-Umgebung
- Erforderliche Trunkierung für Divisionen von vorzeichenbehafteten Ganzzahltypen
- Implizites return 0; in der
main()-Funktion - Deklarationen und Anweisungen in gemischter Reihenfolge
- init-statement in for-Schleifen
- inline-Funktionen
- Vordefinierte Variable __func__
- Cvr-Qualifizierer und static in [] innerhalb von Funktionsdeklarationen
- Variadische Makros
- _Pragma-Präprozessoroperator
- Standard-Pragmas für die Auswertung von Gleitkommazahlen
-
STDCFENV_ACCESS -
STDCFP_CONTRACT -
STDCCX_LIMITED_RANGE
-
[bearbeiten] Feature-Test-Makros für optionale Funktionen
- __STDC_IEC_559__
- Zeigt an, dass die IEEE-754 binäre Gleitkomma-Arithmetik und die erforderlichen mathematischen Funktionen unterstützt werden.
- __STDC_IEC_559_COMPLEX__
- Zeigt an, dass die IEEE-754 komplexe Arithmetik und die erforderlichen mathematischen Funktionen unterstützt werden.
- __STDC_HOSTED__
- Zeigt an, dass die Implementierung gehostet ist.
- __STDC_ISO_10646__
- Zeigt an, dass Unicode von den Wide-Literal-Kodierungen verwendet wird und erweitert sich zur neuesten unterstützten Revision.
- __STDC_MB_MIGHT_NEQ_WC__
- Zeigt an, dass es Zeichen im grundlegenden Zeichensatz gibt, die unterschiedliche Code-Einheitenwerte in normalen und Wide-Literal-Kodierungen haben.
[bearbeiten] Neue Bibliotheksfunktionen
[bearbeiten] Neue Header
[bearbeiten] Bibliotheksfunktionen
- Aliase für Ganzzahltypen
- Ganzzahltypen mit exakter Breite (
intN_tunduintN_t) - Schnellste Ganzzahltypen mit mindestens gegebener Breite (
int_fastN_tunduint_fastN_t) - Kleinste Ganzzahltypen mit mindestens gegebener Breite (
int_leastN_tunduint_leastN_t) - Ganzzahltypen, die für die Umwandlung zwischen Objektzeigern geeignet sind (intptr_t und uintptr_t)
- Ganzzahltypen mit maximaler Breite (intmax_t und uintmax_t)
- Ganzzahltypen mit exakter Breite (
- Operationen auf long long und intmax_t
- Zugriff auf die Gleitkomma-Umgebung
- Erweiterte Gleitkomma-Mathematikfunktionen
- Neue Gleitkomma-Mathematikfunktionen
- -
fund -lVarianten für bestehende und neue Gleitkomma-Mathematikfunktionen - Mathematik-Fehlerbehandlung
- Komplexe Funktionen
- _Exit()
- Formatierungsunterstützung für long long, unsigned long long, intmax_t und uintmax_t
- isblank() und iswblank()
- snprintf() und vsnprintf()
- vfscanf() und vfwscanf()-Familien von Funktionen
- Erweiterungen für die fscanf() und fprintf()-Funktionsfamilien
-
ll-Längenmodifikator für long long und unsigned long long -
hh-Längenmodifikator für signed char und unsigned char -
l-Längenmodifikator für double -
z-Längenmodifikator für size_t und seine vorzeichenbehaftete Version -
t-Längenmodifikator für ptrdiff_t und seine vorzeichenlose Version -
j-Längenmodifikator für intmax_t und uintmax_t -
a-Konvertierungsspezifizierer für Gleitkommatypen
-
- Numerische Grenzwerte-Makros für long long und unsigned long long
- Numerische Grenzwerte-Makros, die bestehenden und neuen Aliase für Ganzzahltypen entsprechen
- Format-String-Makros für Ganzzahltypen
- va_copy
- Typ-generische Mathe-Makros
- Gleitkommavergleichs-Makros
- Gleitkommaklassifizierungs-Makros
- Kompatibilitäts-Makros für _Bool (bool, true und false)
[bearbeiten] Fehlerberichte
Template:c/language/history/DR99
[bearbeiten] Compiler-Unterstützung
[bearbeiten] C99 Kernsprachfunktionen
| Dieser Abschnitt ist unvollständig Grund: C-Compiler, Verifizierung müssen aufgelistet werden |
| C99-Funktion |
Papier(e) |
GCC |
Clang |
MSVC |
Apple Clang |
EDG eccp |
Intel C++ |
Nvidia HPC C++ (ehem. PGI)* |
Nvidia nvcc |
Cray |
|
|---|---|---|---|---|---|---|---|---|---|---|---|
| Universal-Zeichennamen in Bezeichnern | 3.1 | Ja | Ja | ||||||||
| Erhöhte Übersetzungsgrenzwerte | N590 | 0.9 | N/A | ||||||||
| // Kommentare | N644 | 2.7 | Ja | Ja | |||||||
| restrict-Zeiger | N448 | 2.95 | Ja | partiell* | |||||||
| Erweiterte arithmetische Typen | N815 N601 N620 N638 N657 N694 N809 |
Ja | partiell | Vielleicht | |||||||
| Flexible Array-Member | 3.0 | Ja | Ja | ||||||||
| Variable-Längen-Array (VLA)-Typen | N683 | 0.9 | Ja | ||||||||
| Variabel modifizierte (VM) Typen | N2778 | N/A | Ja | ||||||||
| Bezeichner-Initialisierer | N494 | 3.0 | Ja | Ja | |||||||
| Nicht-konstante Initialisierer | 1.21 | N/A | |||||||||
| Idempotente cvr-Qualifizierer | N505 | 3.0 | N/A | ||||||||
| Nachgestelltes Komma in Enumeratorliste | 0.9 | Ja | Ja | ||||||||
| Hexadezimale Gleitkommakonstanten | N308 | 2.8 | Ja | Ja | |||||||
| Compound-Literale | N716 | 3.1 | Ja | Ja | |||||||
| Gleitkomma-Umgebung | partiell | partiell | |||||||||
| Erforderliche Trunkierung für Divisionen von vorzeichenbehafteten Ganzzahltypen | N617 | 0.9 | N/A | ||||||||
Implizites return 0; in der main()-Funktion |
Ja | Ja | Ja | ||||||||
| Deklarationen und Anweisungen in gemischter Reihenfolge | N740 | 3.0 | Ja | Ja | |||||||
| init-statement in for-Schleifen | Ja | Ja | Ja | ||||||||
| inline-Funktionen | N741 | 4.3 | Ja | Ja | |||||||
| Vordefinierte Variable __func__ | N611 | 2.95 | Ja | Ja | |||||||
| Cvr-Qualifizierer und static in [] innerhalb von Funktionsdeklarationen | 3.1 | Ja | |||||||||
| Variadische Makros | N707 | 2.95 | Ja | Ja | |||||||
| _Pragma-Präprozessoroperator | N634 | 3.0 | Ja | partiell* | |||||||
| Standard-Pragmas für die Auswertung von Gleitkommazahlen | N631 N696 |
Nein | Nein | ||||||||
| C99-Funktion |
Papier(e) |
GCC |
Clang |
MSVC |
Apple Clang |
EDG eccp |
Intel C++ |
Nvidia HPC C++ (ehem. PGI)* |
Nvidia nvcc |
Cray |