typedef struct {
double coef[12;
int degree;
} mpz_poly_t;
typedef mpz_poly_t mpz_poly[1];



int main(int argC, char *args[])
{

mpz_poly_t t;

mpz_poly f;
・・・・

上のプログラムで
typedef mpz_poly_t mpz_poly[1];は
mpz_poly_tの配列にmpz_polyという名前をつけているという意味でしょうか?
typedef 構造体 名前[1];という表現は良く見かけるが、[1]とすると何か便利なことがあるのでしょうか?
あと、mpz_poly f の fの型は構造体の配列へのポインタであっているでしょうか?