title: bytes were returned when we access the structure member and Segmentation fault occurs when printing structure variable address
body: <p>I created one <code>struct</code> and assigned one pointer variable to that structure. When I tried to print the address of that variable it prints correctly. After assign value to one of the member of the structure using this <code>pointer</code> structure variable, when i tried to print the address of the <code>pointer</code> variable I got <em><code>segmentation fault</code></em>.</p>
  
  <pre><code>#include &lt;stdio.h&gt;
  
  typedef struct node {
  char mem;
  double mem2;
  char mem3;
  int mem4;
  char mem5;
  char mem6;
  }NODE;
  int main()
  {
      NODE * m;
      printf("%u",&amp;m);
  
      return 0;
  }
  </code></pre>
  
  <p>I got output as 3014616488. When I assigned variable to one of the structure member,</p>
  
  <pre><code>#include &lt;stdio.h&gt;
  
  typedef struct node {
  char mem;
  double mem2;
  char mem3;
  int mem4;
  char mem5;
  char mem6;
  }NODE;
  int main()
  {
     NODE * m;
     m-&gt;mem3 = 'A';
     printf("%u",&amp;m);
  
     return 0;
  }
  </code></pre>
  
  <p>I got segmentation fault. When I did like this</p>
  
  <pre><code>#include &lt;stdio.h&gt;
  
  typedef struct node {
  char mem;
  double mem2;
  char mem3;
  int mem4;
  char mem5;
  char mem6;
  }NODE;
  int main()
  {
      NODE * m;
      printf("%u",&amp;m-&gt;mem3);
  
      return 0;
  }
  </code></pre>
  
  <p>I got 16 as output . I don't know how 16 came. It really struggling my mind. Please any one help me to get know what exactly happening. Thanks in advance</p>