title: typecasting a pointer to an int .
body: <p>I can't understand the output of this program . 
  What I get of it is , that , first of all , the pointers p, q ,r ,s  were pointing towards null . </p>
  
  <p>Then , there has been a typecasting . But how the heck , did the output come as 1 4 4 8 . I might be very wrong in my thoughts . So , please correct me if I am wrong . </p>
  
  <pre><code>int main()
  {
  
      int a, b, c, d; 
      char* p = (char*)0; 
      int *q = (int *)0; 
      float* r = (float*)0; 
      double* s = (double*)0; 
  
      a = (int)(p + 1); 
      b = (int)(q + 1);
      c = (int)(r + 1);
      d = (int)(s + 1);
  
      printf("%d %d %d %d\n", a, b, c, d); 
  
      _getch();
      return 0; 
  }
  </code></pre>