4桁の整数を1つずつ要素4の配列に代入したいです

int a = 1234 int ary[4]とあったら
ary[0] = 1, ary[1] = 2, ary[2] = 3, ary[3] = 4となるように

sprintf( buff, "%d", a)
ary[0] = buff[0] - (char)'0'
この2行で出来てはいるのですが
もっとスマートな方法はないですか?