Geraten auf "Intelerrisch" würde ich sagen:
irgendwo gibt's 'nen Speicher:
char Schubidoo [ min. 4 ]; // Hier 12
oder
byte Schubidoo [ min. 4 ];
sowie einen Zeiger:
char *ZeigDrauf;
oder
BYTE *ZeigDrauf;
darüber hinaus soll mit einer 32-Bit Variablen:
DWORD Variable;
gearbeitet werden.
Ein Grund für die differierenden Variablentypen könnte sein, dass Du
"Schubidoo" über die serielle Schnittstelle "lädst", deren
Zugriffsfunktionen alle einen char referieren.
Willst du nun auf das 3. DWORD im Puffer zugreifen, so könnte deine
Arbeitssequenz folgendermaßen aussehen:
// Anfang 3. DWORD adressieren (Zeiger ist *char)
ZeigDrauf = &Schubidoo [ 8 ]; // 0,1,2,3,4,5,6,7,[8],9,10,11
// Interpretation als DWORD
Variable = (Var)ZeigDrauf;
Vorsicht bei der Verwendung von casts. Wenn Du den Compiler "sagst"
Irgendetwas = (GleicherTyp)WasAnderes; so funktioniert die normalerweise
aktive Typprüfung nicht mehr und der Compiler "glaubt" Dir fast alles.