title: Using Sizeof and malloc function in C
body: <p>I am a newbie to C, </p>
  
  <p>My Problem is the following code,</p>
  
  <pre><code>int Max[10],*New_Max;
  int length=5;
  New_Max=(int)malloc(sizeof(int)*length));
  printf("sizeof(Max)=%d,sizeof(New_Max)=%d",sizeof(Max),sizeof(New_Max));`
  </code></pre>
  
  <p>Output:</p>
  
  <pre><code>sizeof(Max)=40,sizeof(New_Max)=4
  </code></pre>
  
  <p>I Expect <code>sizeof(New_Max)</code> to be <code>20</code>, but it prints as <code>4</code>.</p>
  
  <p>Can anyone explain the reason for it. </p>