title: C pointer arithmetic different for char * and int *
body: <p>Could someone explain why I can move through the memory locations for the char * but not for the int * using the following code:</p>
  
  <pre><code>#include &lt;stdio.h&gt;
  #include &lt;stdlib.h&gt;
  #include &lt;string.h&gt;
  
  int main(void){
  int *  a = malloc(48);  
  char * s = malloc(27);
  
  for (int i = 0;i&lt;26;i++) s[i] = i+65;
  
  int intSize = sizeof(int);
  printf("%d\n",intSize); 
  
  for(int i = 0;i&lt;12;i++){
      a[i] = i;
      printf("%d %d %c\n",*(a+i*intSize),a[i],*(s+i));
  }
  
  
  return 0; 
  }
  </code></pre>