QUOTE (Jenya7 @ Dec 15 2015, 15:39)

а что можно прямо так ?
(my_struct *) my_arr
Да, конечно. Преобразование типа говорящее компилятору, что там по указателю на самом деле не свалка байтов, а структура. В структуре находися какая-то 32 bit переменая. Осталось только сказать компилятору что бы взял эту переменную.
((my_struct *) my_arr)->value_32bit
И сделает от это МАСИМАЛЬНО эффективным способом.
Для человеческой читабельности можно спрятать преобразование в макрос, или промежуточную переменную, которую компилятор все равно заоптимизирует.
Получится типа:
my_struct->value_32bit