Kod: Markera allt
int line3; // Om line3 är 0x2548
char lineLL;
char lineHH;
...
lineLL = line3; // Blir lineLL = 0x48
lineHH = line3 >> 8; // Blir lineHH = 0x25

Kod: Markera allt
int line3; // Om line3 är 0x2548
char lineLL;
char lineHH;
...
lineLL = line3; // Blir lineLL = 0x48
lineHH = line3 >> 8; // Blir lineHH = 0x25
Kod: Markera allt
union // Betyder att de delar adress med varandra
{
int Line3; // deklarera en int
struct
{
char LineLL;
char LineHH;
} Parts; // För att skapa en struktur som är i "förlängning" av varandra
} Lines; // "grund"variablens namn
Lines.Line3 = 0x2548;
// Nu är Lines.Parts.LineLL == 0x48 och
// Lines.Parts.LineHH == 0x25.
lineLL = Lines.Parts.LineLL;
lineHH = Lines.Parts.LineHH;
Kod: Markera allt
PORTB.F3 = 1;
Kod: Markera allt
union
{
struct
{
int Flagganamn01 : 1; // ": 1" betyder att den tar 1 bit i en int (bit 0 startar det på)
int Flagganamn02 : 2; // Här fyller den 2 bitar
int Flagganamn03 : 13; // Här tar vi resten
} Bitwise;
int Whole_Word;
} My_Special_Var;