在C中,node.next-> prev与node-> next-> prev吗?

问题描述 投票:2回答:1

表达式node.next->prev的计算结果是否与node->next->prev相同?

c pointers syntax
1个回答
4
投票

在C中,node.next->prevnode->next->prev中的至少一个不会编译。

如果node被声明为指向结构的指针(例如struct Node* node),那么您就不能在其上使用.运算符,因为.仅可用于诚实[ C0],而不是指向它们的指针。在这种情况下,struct不会编译,而node.next->prev会编译。相反,如果将node->next->prev定义为实际的诚实node(例如struct),则struct Node node将不会编译,因为node->next->prev仅可用于指针,而->会。

话虽这么说,这两段代码后面的intent是相同的。它们都表示“去某个节点,选择其node.next->prev字段,然后读取任何节点的next字段。”

© www.soinside.com 2019 - 2024. All rights reserved.