title: Memory address in C
body: <p>In the last line of the main function, why does <code>&amp;word2</code> differ from <code>word2</code>? Assume the right headers are in place. Thank you!</p>
  
  <pre><code>int main()
  {
      char word1[20];
      char *word2;
  
      word2 = (char*)malloc(sizeof(char)*20);
  
      printf("Sizeof word 1: %d\n", sizeof (word1));
      printf("Sizeof word 2: %d\n", sizeof (word2));
  
      strcpy(word1, "string number 1");
      strcpy(word2, "string number 2");
  
      printf("%s\n", word1);
      printf("%s\n", word2);
      printf("Address %d, evaluated expression: %d\n", &amp;word1, word1);
      printf("Address %d, evaluated expression: %d\n", &amp;word2, word2); 
      //Why this one differ?
  }
  </code></pre>