在链表操作中,->运算符与.运算符有什么区别?
比如这个:structlist*pnode;pnode->date=m;pnode.date=m;(尽管有语法错误,但是我无法解释为什么这个错了)我想我应该是pnode和...
比如这个:struct list * pnode;
pnode->date=m;
pnode.date=m;(尽管有语法错误,但是我无法解释为什么这个错了)
我想我应该是 pnode和*pnode这两个之间概念很模糊 展开
pnode->date=m;
pnode.date=m;(尽管有语法错误,但是我无法解释为什么这个错了)
我想我应该是 pnode和*pnode这两个之间概念很模糊 展开
1个回答
展开全部
对于结构体成员的引用,如果是指针变量,则用->来引用,如
struct list * pnode;
pnode->date=m;
这是对的
如果不是指针变量,则要用点来引用,如:
struct list node;
node.date=m;
这样才是对的。
如果用反了,就是错的了,这个是编程规定。
struct list * pnode;
pnode->date=m;
这是对的
如果不是指针变量,则要用点来引用,如:
struct list node;
node.date=m;
这样才是对的。
如果用反了,就是错的了,这个是编程规定。
追问
但我刚刚用(*pnode).date试了下,也行,所以现在就想不明白了
追答
*pnode 是引用指针所指向的的数据,也就是相当于调用 普通结构体变量,所以可以这样用,但这有点啰嗦!不能pnode->date这种形式明朗!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询