請參見下面的代碼片段:將指針指向變量地址並明確指向內存地址有什麼區別?
#include<iostream>
using namespace std;
int main()
{
int a=10;
int *p=&a;
*(p+1)=6;
cout<<*(p+1);
}
上面的代碼不起作用。但是,下面的代碼段,其中分配給一個明確的內存地址,沒有工作:
#include<iostream>
using namespace std;
int main()
{
int *p=(int *)0x28fefc;
*(p+1)=6;
cout<<*(p+1);
}
爲什麼這些方法中的一個工作,而不是其他? 我在第二個地址中使用了我的電腦的內存地址。該地址可能無法在其他某臺機器上使用。
你是什麼意思的「不工作」?怎麼了? – 2014-09-13 18:50:32
過程返回負值並立即終止 – user3553836 2014-09-13 18:58:11