Zeiger
-
Hallo,
Ich möchte einen Zeiger auf ein Byte in einem String definieren.
unsigned char system[8];
unsigned char *status = &system[5];
kein Problem, aber wie bekommt man folgendes hinIf ((*status&0x80)==1) ; //Bit 7 in system[5] = 1 (im Status ist error
gesetzt)
soll wie folgt aussehen
If (*status.error)
Ich kann eine Structur declarieren
struct
{
unsigned L1 :1;
unsigned L2 :1;
unsigned L3 :1;
unsigned batt_kapp :1;
unsigned batt_kurz :1;
unsigned :2;
unsigned error :1;
}status = 0;
Habe so aber kein arry, sondern nur ein BYTE.
-
if((*status).error) ; //Klammern nicht vergessen; oder if(status->error) ;
Mach mal die ganzen :1 in deiner struct weg, was sollen die heißen?
Und warum status = 0 ?Und wenn du das Byte schon hast, wo ist das Problem?
-
Taurin schrieb:
Mach mal die ganzen :1 in deiner struct weg, was sollen die heißen?
Bitfelder...