指针,无法打印值
Pointer, could not print value
如果我从输出中得到类似地址的东西,我可以知道为什么吗。有人能告诉我如何将其作为一个值输出吗?我是指针和链接列表的新手。
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;
相关文章:
- 在C++中打印指向不同基元数据类型的指针的内存地址
- 这个指针和内存代码打印是什么?我不知道是打印垃圾还是如何打印我需要的值
- 加载有空指针的字符数组的打印值
- 指向整数数组和打印总和的指针
- 为什么在C++中增加指针后打印了一个值而不是 NULL/0?
- 打印空指针时,std::cout 可以打印 "NULL" 而不是 0 吗?
- 为什么我的函数无法使用指针打印多维数组的元素?
- 如何取消引用和打印指针数组的每个元素?
- 将指针传递给函数 - 为什么我无法打印地址?
- 打印带有指针的参数和环境
- 如何打印指针的地址?
- 可视C++打印指针无法确认显示基础
- 打印指针会导致分段错误
- 打印指针到chuchar的值
- 打印指针指向的内存位置和值
- 如何用循环在C 中打印指针
- 如何从方法中打印指针的值
- 正在获取ostream模板以打印指针列表中的实例属性
- 如何打印指针字符数组
- C++打印指针的值会产生奇怪的结果