Aus einem nicht ausgerichteten uint8_t-Recast als uint32_t-Array lesen - nicht alle Werte abrufen
Ich versuche, ein uint8_t-Array in ein uint32_t-Array umzuwandeln. Wenn ich dies versuche, kann ich jedoch nicht auf alle aufeinander folgenden 4 Bytes zugreifen.
Sagen wir, ich habe ein uint8_t-Array mit 8 Bytes. Ich möchte auf Byte 2 -> 6 als ein uint32_t zugreifen.
Diese bekommen alle den gleichen Wert*((uint32_t*)&uint8Array[0])
, *((uint32_t*)&uint8Array[1])
, *((uint32_t*)&uint8Array[2])
, *((uint32_t*)&uint8Array[3])
Während*((uint32_t*)&uint8Array[4])
erhält die Bytes 4 -> 8 wie erwartet.
So scheint es, als ob ich von keiner Adresse aus auf 4 aufeinanderfolgende Bytes zugreifen kann?
Gibt es eine Möglichkeit, wie ich das machen kann?