Anfängerfrage pointer, array
-
Hallo,
ich habe eine Funktion die folgende Form hat:
static int xtc_receivebits(int *buf, int nbits) { unsigned char * cbuf; cbuf = ((unsigned char *)buf) + 3 * sizeof(*buf); . . .
soweit ich verstehe, wird die Variable "buf" "gecastet", also Datentypumwandlung. Wo ich leider nicht schlau werde, was die Addition 3*sizeof(*buf) genau bewirkt. buf ist ein Array mit den Werten 0.
Kann mir jmd bitte erklären, was genau die Addition bewirkt?
Vielen Dank!
-
Das ist eine umständliche Art und Weise,
unsigned char* cbuf = (unsigned char*) &buf[3];
zu schreiben.
-
Bashar schrieb:
Das ist eine umständliche Art und Weise,
unsigned char* cbuf = (unsigned char*) &buf[3];
zu schreiben.
pfffff
....vielen dank. ohne deine hilfe, hätte ich noch stunden rumgesucht und probiert, wenn ich überhaupt drauf gekommen wäre