我正在传递一个int&指向结构的结构的指针,该函数返回指向结构中数据的指针。如何取消引用指针返回的地址?
我创建了一个搜索功能来查找链表中的节点。这是我的搜索功能:
Entry* search(int num, Entry* &head)
{
Entry *current;
current = head;
while(current != NULL)
{
if(atoi(current->number) == num)
{
return(current); //selected node is found
}
current = current->next; //move to next node to check for num
}
return head;//if not found return head of linked list
}
我的问题是尝试获取从以下位置返回的指针的值:
cout << (search(searchNum, listHead));
上面的语句将地址返回到函数中指针返回的值,如下所示:
0x100300000
所以我尝试了不同的变体:
cout << *(search(searchNum, listHead));
但我只会遇到错误......
任何人都可以帮我弄清楚如何从返回的指针中获取值吗?
最终,我喜欢用这样的东西来完成它:
found = search(searchNum, listHead);
cout << "The number you searched for is: " << *found;
但它只是发生了:/
谢谢你们。我是一个新手,所以请原谅我完全偏离任何这个...我试图寻找一个类似的问题,但只是无法得到任何明确的答案...也许它真正的joel spolsky说指针。 ..有些人错过了大脑的一部分,让他们理解......:/答案 0 :(得分:2)
尝试:
cout << "The number you searched for is: " << found->number;
或
cout << "The number you searched for is: " << (*found).number;