Указатель на икс

Вопрос экспертам: что лучше (и в каких случаях) использовать союз типа

union
{
    uint8  *u8;
    uint16 *u16;
    uint32 *u32;
};


или
void *DataPtr


с явным приведением типа (естественно в применение к эмбеддед системс)? Точнее что безопаснее или какой вариант компилятору (ГЦЦ) больше по вкусу?
ЗЫ… форумы мне не интересны