Я играю с c ++ в VisualStudio2010
Пожалуйста, объясните, почему ЭТО происходит:
int a, b;
int *p, *q;
cout << a << " " << b;
выводит «0 0».Ну понятно, неинициализированное целое число должно быть 0;но
int a, b;
int *p, *q;
p = &a;
cout << a << " " << b;
вывод "1792816880 0"
Так что, если я назначу указатель на неинициализированную переменную, он изменит значение по умолчанию.Почему?
Правка уточнение: вопрос был не о значении неинициализированной переменной
int a; int *p;
cout << a; // would be 0, because it's loacal variable
p = &a;
cout << a; //not 0;
Как получить указатель a может изменить его значение?когда мы инициализируем переменную, мы выделяем пространство, некоторые биты, они могут быть чем угодно, но "p = & a" действительно изменяет биты в этом пространстве?