指针,无法打印值

Pointer, could not print value

本文关键字:打印 指针      更新时间:2023-10-16

如果我从输出中得到类似地址的东西,我可以知道为什么吗。有人能告诉我如何将其作为一个值输出吗?我是指针和链接列表的新手。

struct node{
    int x;
    node *next;
};
int main(){
    node *root;     
    root = new node; 
    root->next = 0;  
    root->x = 5;
    cout << root << endl;
    return 0;           
}

如果你真的想,你可以重载operator<<来输出节点类/结构的值,我目前还没有接近编译器,但我认为它会这样做:

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

//用法:

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

不过,如果你只想以最简单的方式获得值,你总是可以使用操作员->如下所示:

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

与您为x 分配的值相同

cout << root->x << endl;

您还可以访问x的值为:

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