>>94
type a1[A][B];
を
typedef type t[B];
t a2[A];
として考えてみれ。