title: Typecasting from int to long int
body: <p>Recently I searched the difference between <code>int</code>, <code>long int</code>, <code>long</code>, ... and so on. And I got the answer from <a href="https://stackoverflow.com/questions/18971732/what-is-the-difference-between-long-long-long-long-int-and-long-long-i">here</a>. And I found that <code>long</code> and <code>long int</code> are identical. So the statements
  <code>c = a *long(b);</code></p>
  <p>and</p>
  <p><code>c = a * long int (b)</code></p>
  <p>should be same in the program</p>
  <pre><code>int main()
  {
      int a = 10, b = 20;
      long int c;
      
      c = a *long(b);
      cout &lt;&lt; c;
      
      return 0;   
  }
  </code></pre>
  <p>But the second statement is showing an error</p>
  <p><b>[Error] expected primary-expression before 'long' </b></p>
  <p>So I just want to know, if <code>long</code> and <code>long int</code> are identical, so why there is error in the above two statements ?</p>