我有以下C ++源代码:
#include <iostream>
using namespace std;
int* ptr;
int main()
{
{
int array[] = {1, 2, 3}; // <-- (1)
ptr = &array[0]; // <-- (2)
cout << *ptr << endl;
} // <-- (3)
cout << *ptr << endl; // <-- (4)
return 0;
}
// Output:
// 1
// 1
但是当我删除第一个提示时,我会得到完全不同的东西。
#include <iostream>
using namespace std;
int* ptr;
int main()
{
{
int array[] = {1, 2, 3};
ptr = &array[0];
// cout << *ptr << endl; <-- This is now a comment.
}
cout << *ptr << endl;
return 0;
}
// Output:
// -2064455520
我误会什么?