配列はポインタじゃないから
やるならこう
union U {
  A  a;
  char buf[1000];
};