指针,无法打印价值

时间:2014-09-19 18:32:05

标签: c++ list pointers struct

我可能知道为什么我会从输出中获得类似地址的内容。 谁能告诉我如何将其输出为值? 我是指针的新手并且要做链表。

struct node{
    int x;
    node *next;
};

int main(){

    node *root;     

    root = new node; 
    root->next = 0;  

    root->x = 5;
    cout << root << endl;

    return 0;           
}

3 个答案:

答案 0 :(得分:4)

好吧,如果你真的想,你可以重载operator<<来输出节点类/结构的值,我目前不在编译器附近,但我认为它会像这样:

inline std::ostream& operator<< (std::ostream& os, const node* myNode)
{
    os << myNode->x;
    return os;
}

//用法:

std::cout << root << std::endl;

虽然如果你只想以最简单的方式获得价值,你可以随时使用 操作符 - &GT;如下图所示:

std::cout << root->x << std::endl;

答案 1 :(得分:3)

与为x

指定值相同
cout << root->x << endl;

答案 2 :(得分:0)

您还可以访问x的值:

cout<<(*root).x<<endl;