zeiger
-
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 BYTE.
-
So würds gehen. Da brauchst du keinen Zeiger.
typedef struct { unsigned L1 :1; unsigned L2 :1; unsigned L3 :1; unsigned batt_kapp :1; unsigned batt_kurz :1; unsigned :2; unsigned error :1; }state; ... unsigned char system[8]; state status; ... status = system[5]; If (status.error) ...