title: typedef struct and declaring a structure variable
body: <p>Currently I'm working on an iOS application, in which I'm using structure for storing some data.</p>
  
  <p>I declared an structure like:</p>
  
  <pre><code>typedef struct Message
  {
      int    messageType;
      char   *data;
      int    length;
  } Message;
  </code></pre>
  
  <p>But when I need to declare a variable I accidentally wrote like:</p>
  
  <pre><code>struct Message *myMessage = NULL;
  </code></pre>
  
  <p>This is working fine, no issues.</p>
  
  <p>My question is why this line not displaying any issues ?</p>
  
  <p>Both :</p>
  
  <pre><code>struct Message *myMessage = NULL;
  </code></pre>
  
  <p>and </p>
  
  <pre><code>Message *myMessage = NULL;
  </code></pre>
  
  <p>Working correctly. Is this correct behavior of <code>typedef</code> ? Why it won't display any error when I used <code>struct Message</code> ?</p>