已关闭。此问题需要details or clarity。目前不接受回答。
**要改进此问题吗?**通过editing this post添加详细信息并阐明问题。
3天前关闭。
Improve this question的
如果我传递一个指向内存地址的指针,比如:
int main() {
Node* start = &a1;
int out = loop(start);
return out;
}
字符串
如何正确设置指针:
int loop(const Node* node) {
Node* cur = &node;
...
}
型
我会认为将指向const Node* node
的指针解引用为*node
,呈现指向内存地址的指针,但这是不允许的,允许的是Node* cur = &node
,但这是指向传入指针的内存地址的指针。在这种情况下,如何解决指针间接?
1条答案
按热度按时间3npbholx1#
从
&node
到cur
不起作用,因为前者的类型为Node **
(即指向节点的指针),后者的类型为Node *
(即指向节点的指针)。node
的类型是const Node *
,cur
的类型是Node *
。两者都是指向同一类型的指针(一个是const
,另一个不是),所以只需将const
添加到cur
并直接赋值即可。字符串