You can use memcpy
(it requires string.h
header):
#include <stdio.h>
#include <string.h>
#include <inttypes.h>
int main(void)
{
uint8_t array[] = {
0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09
}
uint32_t dword;
size_t offset = 2;
memcpy(&dword, array + offset, sizeof(dword));
printf("Dword value = 0x%08x\n", dword);
return 0;
}