【发布时间】:2016-08-25 18:59:50
【问题描述】:
我正在尝试计算变量 abc 的地址,但程序崩溃了
int main()
{
int *app;
int abc = 2;
*app=3;
cout << *app << endl << &*app << endl << abc;
cout << &abc;
}
但是,如果我删除地址变量 int *app ,那么它将计算 abc 的地址
int main()
{
int abc = 2;
cout << &abc;
}
我不知道为什么另一个不相关的地址变量的存在会影响它。请指教。
【问题讨论】:
-
请注明“不起作用”
-
当你
*app = 3时,app持有什么地址?未定义。 -
app 没有指向任何有效的内存地址。在第一种情况下,您一定会遇到分段错误。
-
谢谢大家。我应该意识到这么明显的错误。