在下面的代码中使用指针

时间:2013-08-29 10:13:04

标签: c++ pointers coredump

1.NODE **ptr = (NODE **)node
NODE  *delPtr = *ptr;
obj->addList(delPtr->strKey);

2.NODE **ptr = (NODE **)node;
obj->addList(*ptr->strKey);

我正在分析这个我正在制作的核心转储程序,功能似乎是一样的。 这两个声明有什么区别?第二个也会进行核心转储吗? 请帮忙。

1 个答案:

答案 0 :(得分:6)

Operator precedence表示->在取消引用运算符*之前进行评估,因此

obj->addList(*ptr->strKey);

实际上是

obj->addList(*(ptr->strKey));

如果您想使用此表单,则需要在*ptr

周围使用括号
obj->addList((*ptr)->strKey);