struct student* p 与struct student *p的区别

struct student* p 与struct student p的区别,这两个在定义时是一样的吗?号一个在student的后面,一个在p的前面

一样的啊
一般建议写成 struct student * p,将 * 号和变量放在一起,这样可以更清楚地表明p是指针,如果采用第一种,则可能会有歧义,比如:
struct student* p,q,r;
这样的定义,只有p是指针,q,r就不是指针