c语言中结构的赋值问题

typestructsnode{inti;structsnodenext;}student;student*p,*head;那么p=head和p=head->next有什... type struct snode{
int i;
struct snode next;
}student;
student *p,*head;
那么p=head和p=head->next有什么区别吗?
还有上面的结构和type struct{
int i;
...
}student有什么区别?
展开
 我来答
笃侠6A
2014-08-06 · TA获得超过3734个赞
知道大有可为答主
回答量:3205
采纳率:75%
帮助的人:3263万
展开全部
p=head——使p指向head所指的结点
p=head->next——使p指向head所指结点的下一个结点
枫叶非也
推荐于2016-06-06 · 超过34用户采纳过TA的回答
知道答主
回答量:63
采纳率:0%
帮助的人:66.2万
展开全部
p=head和p=head->next有什么区别吗?

这个当然有区别,head的首地址指向的是结构体中的 i 成员变量,也就是head->i的地址。(注意是首地址,而不是等于p=head->i。且p=head->i,等号两边的类型不同,编译是不会通过的)
而head-->next指向的是另一个成员变量。
这两个成员变量并不一样。

两种结构体有什么区别?
首先,那个type是不是写错了,应该是typedef呢。
这两个结构体的写法,达到的目的是相同的,将一个结构体命名为student。
区别在于
第一个,是将 “struct snode” 结构体,命名为student,让后面使用到的程序能通过student标示,知道使用的是“struct snode”结构体。
第二个,是将一个没有命名的结构体,命名为student,让后面使用到的程序能通过student标示,知道使用的是这个没有命名的结构体。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式