Benutzer-Werkzeuge

Webseiten-Werkzeuge


c

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

Signed/Unsigned

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