C99
From cppreference.net
<
c
ISO/IEC 9899:1999 , auch bekannt als C99 , ist eine frühere Revision des C-Standards.
|
Dieser Abschnitt ist unvollständig
Grund: Kern-/Bibliotheksfunktionen, TC1~TC3, DRs |
Inhaltsverzeichnis |
Neue Sprachfunktionen
- Universal-character-names in Bezeichnern
- Erhöhte Übersetzungslimits
- // 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
- Arrays variabler Länge (VLA) Typen und variabel modifizierte (VM) Typen
-
Verbesserungen von
geschweiften Initialisierungslisten
für
Arrays
,
Struct- und Union-Typen
- Nicht-konstante Initialisierer
- Designierte Initialisierer
- Idempotente cvr-Qualifizierer
- Nachgestelltes Komma in Enumerator-Listen
- Hexadezimale Fließkommakonstanten
- Zusammengesetzte Literale
- Fließkomma-Umgebung
- Erforderliche Abschneidung für Divisionen vorzeichenbehafteter Ganzzahltypen
-
Implizites
return
0
;
in der
main()Funktion - Deklarationen und Anweisungen in gemischter Reihenfolge
- Initialisierungsanweisung in for Schleifen
- inline Funktionen
- Vordefinierte Variable __func__
- Cvr-Qualifizierer und static in [ ] innerhalb von Funktionsdeklarationen
- Variadische Makros
- _Pragma Präprozessor-Operator
-
Standard-Pragmas für Fließkomma-Auswertung
-
STDCFENV_ACCESS -
STDCFP_CONTRACT -
STDCCX_LIMITED_RANGE
-
Feature-Test-Makros für optionale Funktionen
-
__STDC_IEC_559__
- Zeigt an, dass IEEE-754 binäre Gleitkommaarithmetik und erforderliche mathematische Funktionen unterstützt werden.
-
__STDC_IEC_559_COMPLEX__
- Zeigt an, dass IEEE-754 komplexe Arithmetik und erforderliche mathematische Funktionen unterstützt werden.
-
__STDC_HOSTED__
- Zeigt an, dass die Implementierung hosted ist.
-
__STDC_ISO_10646__
- Zeigt an, dass Unicode für die Breitliteral-Kodierungen verwendet wird und zur letzten unterstützten Revision expandiert.
-
__STDC_MB_MIGHT_NEQ_WC__
- Zeigt an, dass es einige Zeichen im Basiszeichensatz gibt, die unterschiedliche Codeeinheitenwerte in gewöhnlichen und Breitliteral-Kodierungen haben.
Neue Bibliotheksfunktionen
Neue Header
Bibliotheksfunktionen
-
Aliase für Ganzzahltypen
-
Ganzzahltypen mit exakter Breite (
int N _tunduint N _t) -
Schnellste Ganzzahltypen mit mindestens gegebener Breite (
int_fast N _tunduint_fast N _t) -
Kleinste Ganzzahltypen mit mindestens gegebener Breite (
int_least N _tunduint_least N _t) - Ganzzahltypen für Umwandlung zwischen Objektzeigern ( intptr_t und uintptr_t )
- Ganzzahltypen mit maximaler Breite ( intmax_t und uintmax_t )
-
Ganzzahltypen mit exakter Breite (
- Operationen für long long und intmax_t
- Zugriff auf die Gleitkommaumgebung
-
Erweiterte Gleitkomma-Mathematikfunktionen
- Neue Gleitkomma-Mathematikfunktionen
-
-
fund -lVarianten für bestehende und neue Gleitkomma-Mathematikfunktionen - Behandlung von mathematischen Fehlern
- 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() Funktionsfamilien
-
Erweiterungen für
fscanf()
und
fprintf()
Funktionsfamilien
-
llLängenmodifikator für long long und unsigned long long -
hhLängenmodifikator für signed char und unsigned char -
lLängenmodifikator für double -
zLängenmodifikator für size_t und dessen vorzeichenbehaftete Version -
tLängenmodifikator für ptrdiff_t und dessen vorzeichenlose Version -
jLängenmodifikator für intmax_t und uintmax_t -
aKonvertierungsspezifizierer für Gleitkommatypen
-
- Numerische Grenzwertmakros für long long und unsigned long long
- Numerische Grenzwertmakros entsprechend bestehenden und neuen Aliasen für Ganzzahltypen
- Formatstring-Makros für Ganzzahltypen
- va_copy
- Typgenerische Mathematik-Makros
- Gleitkomma-Vergleichsmakros
- Gleitkomma-Klassifizierungsmakros
- Kompatibilitätsmakros für _Bool ( bool , true , und false )
Veraltete Funktionen
Entfernte Funktionen
- Implizites int in Deklarationen
- Implizite Funktionsdeklarationen
Veraltete Funktionen
Fehlerberichte
Template:c/language/history/DR99
Compiler-Unterstützung
C99-Kernsprachfunktionen
|
Dieser Abschnitt ist unvollständig
Grund: muss C-Compiler, Verifizierung auflisten |
|
C99-Funktion
|
Dokument(e)
|
GCC
|
Clang
|
MSVC
|
Apple Clang
|
EDG eccp
|
Intel C++
|
Nvidia HPC C++ (ex PGI)*
|
Nvidia nvcc
|
Cray
|
|
|---|---|---|---|---|---|---|---|---|---|---|---|
| Universal-character-names in Identifiers | 3.1 | Ja | Ja | ||||||||
| Erhöhte Übersetzungslimits | N590 | 0.9 | N/A | ||||||||
| // Kommentare | N644 | 2.7 | Ja | Ja | |||||||
| restrict Zeiger | N448 | 2.95 | Ja | teilweise * | |||||||
| Erweiterte arithmetic types |
N815
N601 N620 N638 N657 N694 N809 |
Ja | teilweise | Vielleicht | |||||||
| Flexible Array-Member | 3.0 | Ja | Ja | ||||||||
| Variable-length array (VLA) Typen | N683 | 0.9 | Ja | ||||||||
| Variably-modified (VM) Typen | N2778 | N/A | Ja | ||||||||
| Designierte Initialisierer | N494 | 3.0 | Ja | Ja | |||||||
| Nicht-konstante Initialisierer | 1.21 | N/A | |||||||||
| Idempotente cvr-Qualifizierer | N505 | 3.0 | N/A | ||||||||
| Nachgestelltes Komma in enumerator-list | 0.9 | Ja | Ja | ||||||||
| Hexadezimale Gleitkommakonstanten | N308 | 2.8 | Ja | Ja | |||||||
| Zusammengesetzte Literale | N716 | 3.1 | Ja | Ja | |||||||
| Gleitkomma-Umgebung | teilweise | teilweise | |||||||||
| Erforderliche Abschneidung 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äprozessor-Operator | N634 | 3.0 | Ja | teilweise * | |||||||
| Standard-Pragmen für Gleitkomma-Auswertung |
N631
N696 |
Nein | Nein | ||||||||
|
C99-Funktion |
Dokument(e) |
GCC
|
Clang
|
MSVC
|
Apple Clang
|
EDG eccp
|
Intel C++
|
Nvidia HPC C++ (ex PGI)*
|
Nvidia nvcc
|
Cray
|