title: Allocating int storage?
body: <p>I'm a a beginner to C.</p>
  
  <pre><code>main() {    
     int *a-ptr = (int *)malloc(int); 
     *a-ptr = 5;
     printf(“%d”, *a-ptr);
  }
  </code></pre>
  
  <p>The question is: is this guaranteed to print 5?</p>
  
  <p>The answer is : NO, for two reasons:</p>
  
  <ul>
  <li>you can't use "-" in the names of variables</li>
  <li>"you didn't allocate int storage"</li>
  </ul>
  
  <p>I don't understand that second point. Isn't the storage allocated  with this line? <br/> 
  <code>int *a-ptr = (int *)malloc(int);</code> </p>