In diesem Fall könntest du sowas machen:

x = ((uint16_t*)Speed_array)[0]

Damit verwendest du das Array so, als wäre es ein uint16_t Array. So sparst dir den zusätzlichen Pointer, und du kannst 0,1,2,3 als Indizes verwenden (statt 0,2,4,6 wie bei der anderen Variante)


edit:
oder wie wär's damit...
Code:
uint8_t Speed_array[8];
uint16_t* Speed_array16 = (uint16_t*)Speed_array;

x = Speed_array16[0];
Das macht im Endeffekt das gleiche, aber du musst nicht bei jedem Zugriff einen Typecast machen, sondern nur einmal.