c
Inhaltsverzeichnis
C
Typ einer Konstanten
Der Typ einer Integer-Konstanten wird anhand einer Liste bestimmt. Der Typ ist der erste aus der Liste, in dem der Wert der Konstante dargestellt werden kann. Diese Liste unterscheidet sich für die verschiedenen Versionen des Standards.
C90:
int, long int, unsigned long int
C99:
int, long int, long long int
Der Typ kann auch explizit mit den Suffixen u
(unsigned) und l
(long) bzw. ll
(long long) gewählt werden.
Mehrere Defines logisch verknüpfen
Um mehrere define
-Anweisungen logisch mit UND und ODER zu verknüpfen muss man statt #ifdef
die Langform #if defined
verwenden:
#if defined DEFINE_1 || defined DEFINE_2 //do something #endif
Einschränkungen von C gegenüber C++
Bemerkung | C | C++ |
---|---|---|
keine Defaultparameter | void foo_a(int a){foo_ab(a, 42)}; void foo_ab(int a, int b) | void foo(int a, int b=42) |
keine überladenen Funktionen | void foo_int(int); void foo_char(char); | void foo(int); void foo(char); |
Arraylänge kann keine const Variable sein 1) | #define length 12; int matrix[length]; | const int length = 12; int matrix[length]; |
Unterseiten
Links
Signed/Unsigned
X-Macros
- Reduce C language coding errors with X macros
1)
C99 und gnu90 unterstützen dies jedoch. Es werden dann VLA (variable length arrays) auf dem Stack angelegt.
c.txt · Zuletzt geändert: 2025/03/01 07:55 von olli