title: Declare a pointer to an integer at address 0x200 in memory
body: <p>I have a couple of doubts, I remember some where that it is not possible for me to manually put a variable in a particular location in memory, but then I came across this code</p>
  
  <pre><code>#include&lt;stdio.h&gt;
  void main()
  {
  int *x;
  x=0x200;
  printf("Number is %lu",x); // Checkpoint1
  scanf("%d",x);
  printf("%d",*x);
  }
  </code></pre>
  
  <p>Is it that we can not put it in a particular location, or we should not put it in a particular location since we will not know if it's a valid location or not?</p>
  
  <p>Also, in this code, till the first checkopoint, I get output to be 512. 
  And then after that Seg Fault.</p>
  
  <p>Can someone explain why? Is 0x200 not a valid memory location?</p>