在链表操作中,->运算符与.运算符有什么区别?

比如这个:structlist*pnode;pnode->date=m;pnode.date=m;(尽管有语法错误,但是我无法解释为什么这个错了)我想我应该是pnode和... 比如这个:struct list * pnode;
pnode->date=m;
pnode.date=m;(尽管有语法错误,但是我无法解释为什么这个错了)
我想我应该是 pnode和*pnode这两个之间概念很模糊
展开
 我来答
kaixingui2012
2014-09-13 · TA获得超过4.2万个赞
知道大有可为答主
回答量:1.4万
采纳率:81%
帮助的人:6426万
展开全部
对于结构体成员的引用,如果是指针变量,则用->来引用,如
struct list * pnode;
pnode->date=m;
这是对的
如果不是指针变量,则要用点来引用,如:
struct list node;
node.date=m;
这样才是对的。
如果用反了,就是错的了,这个是编程规定。
追问
但我刚刚用(*pnode).date试了下,也行,所以现在就想不明白了
追答
*pnode 是引用指针所指向的的数据,也就是相当于调用 普通结构体变量,所以可以这样用,但这有点啰嗦!不能pnode->date这种形式明朗!
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式