我试图通过创建一个允许我从给定位置读取内存的脚本来学习指针。
# include <iostream>
using namespace std;
int main()
{
int *p, a=5;
p=(int*)0x12345678;
cout << &a << "\n";
cout << *p << "\n";
}
第一个cout
给出0xbfe08368
。第二个cout
导致以下错误:
"segmentation fault, core dumped"
我理解这意味着无法从该内存地址读取数据。这是为什么?那里分配的任何数据都不是int吗?我也尝试过p = (char*)0x12345678
, 和float,但我仍然得到相同的结果。如何让它发挥作用?