应该是struct st at;或者是
struct st at;
typedef struct st{int a;char q;short d;} st;
把 struct st 的定义写在 main 的外面。