Hallo Gerhard,

#define funktioniert eigentlich wie "Suchen und Ersetzen" in der Textverarbeitung!

Und da #define zum Pre-Processor gehört, wird dies ausgeführt bevor der Compiler anfängt zu Übersetzen.

Deshalb muss man bei gewissen Dingen dann etwas aufpassen

#define BufferSize 10+1

int a[BufferSize]; // ergibt ein Array mit 11 int

int a[BufferSize * 3]; // ergibt ein Array mit 13 int !!! und nicht wie erwartet 33.
Nach dem Pre-Processor sieht das folgendermassen aus:
int a[10 + 1 * 3]; // und dies ergibt aber 10 + 3 = 13

Mit
#define BufferSize (10+1)
funktioniert es dann richtig!
int a[(10 + 1) * 3];

MfG Peter(TOO)