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?

Antworten auf die Frage(6)

Ihre Antwort auf die Frage