关于c语言的一个小问题?

为什么结构体内的指针域要写成struct student *p这种形式,而不写成int *p这种形式,假如这样写两者有什么区别呢

区别:一个是指向结构体变量的指针,一个是指向整形变量的指针。

详细说明如下:

struct student *p指向结构体变量的指针:struct 结构体名 *结构体指针变量名


运行结果:


int *p变成了指向整形变量的指针:

编译运行:

错误:不同的变量类型,p并不属于整形变量类指针

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-10-22
你说的一般是链表,链表中每个结点的next域存放的是下一个结点的地址,自然应该被定义成指向结点的指针类型,而不是指向int的指针类型。本回答被网友采纳
相似回答