代码一样,在dev可以运行但是结果是错的,vc++6.0运行结果正确为什么?

#include<stdio.h>

typedef struct Student
{
int sid;
char name[100];
char sex;
}*PST;

int main(void)
{
struct Student st;
PST ps = &st;
ps->sid = 11;
printf("%d\n",ps->sid);

return 0;

}

这样试试呢

#include<stdio.h>
typedef struct Student
{
int sid;
char name[100];
char sex;
}STU,*PST;

int main(void)
{
STU st;
PST ps = &st;
ps->sid = 11;
printf("%d\n",ps->sid);

return 0;
}