I have the following code:
#include <iostream>
using namespace std;
int main ()
{
    int myvar = 5;
    int * p;
    cout << "Hello2" << endl;
    *p = myvar;
    cout << "Hello" << endl;
    cout << p << endl;
    //cout << &myvar << endl;
}
I know I am not doing the right thing by not initializing the pointer. I was just playing with pointers and noticed this. The issue is when I comment out the last line, the program executes normally. But as soon as I uncomment the line, I get a segmentation fault. I don't know why printing address of myvar is causing this? Has myvar been modified in any way because of pointer dereferencing? I am using C++11.
                        
You are creating an uninitialized pointer and then derferencing that pointer. This has undefined behavior because
phas to point to something for it to be derferenced correctly. Therefore your program's behavior can't be reasoned with.