我有一个int*
变量,用于存储内存地址,例如示例地址0x28c1150
。
我想知道,该地址存储了什么值。
编辑:
struct list {
int value;
list *next;
list *head = NULL;
void push(int n);
void select();
void pop();
void top();
};
void list::push(int value) {
list *temp = new list;
temp->value = value;
temp->next = head;
head = temp;
}
void list::top(){
list * temp = new list;
cout << head;
}
我想打印我的列表顶部
答案 0 :(得分:1)
如果您的变量是list* variable = new list;
variable->top();
:
top()
...但是请注意,当前的int list::top(){
return head->value;
}
std::cout << variable->top() << "\n";
函数会泄漏内存,因为每次调用新列表时都会分配一个新列表,而您只是忘了它。尝试以下方法:
{{1}}
答案 1 :(得分:0)
您必须取消引用指针:
int x = 10;
// get void pointer to x
void* x_pointer_as_void = (void*)&x;
// convert it back to a pointer to an int:
int* x_pointer = (int*)x_pointer_as_void;
如果指针为空,则必须将其强制转换为原始类型:
[102, 104, 108, 80000000, 8000000, 10000000, 1000000, 0x0008000, ....]
答案 2 :(得分:0)
在此(根据当前问题版本)
cout << head->value;