I am learning typecasting.
Here is my basic code, i dont know why after typecasting, when printing p0, it is not showing the same address of a 
I know this is very basic.
#include <iostream>
using namespace std;
int main()
{
    int a=1025;
    cout<<a<<endl;
    cout<<"Size of a in bytes is "<<sizeof(a)<<endl;
    int *p;//pointer to an integer
    p=&a; //p stores an address of a
    cout<<p<<endl;//display address of a
    cout<<&a<<endl;//displays address of a
    cout<<*p<<endl;//display value where p points to. p stores an address of a and so it points to the value of a
    char *p0;//pointer to character
    p0=(char*)p;//typecasting
    cout<<p0<<endl;
    cout<<*p0;
    return 0;
}
 
     
     
     
     
    