title: What's exactly an alias in C?
body: <p>If I have:</p>
  
  <pre><code>int a= 10;
  
  int *ptr = &amp;a;
  int *ptr_2 = ptr;
  </code></pre>
  
  <p>It's said that <code>*ptr</code> and not <code>ptr</code> is an alias of <code>a</code> but is <code>ptr_2</code> an alias of <code>ptr</code> or is <code>*ptr_2</code> an alias of <code>*ptr</code>?</p>
  
  <p>I know that, generally speaking, when two or more objects refer one memory address than they are aliases. So in relationship of this assertion I could think that <code>ptr_2</code> and <code>ptr</code> are alias but I'm not sure because the relationship of <code>*ptr</code> and <code>a</code>...</p>
  
  <p>So what is, from C perspective, an alias?</p>