title: How is sizeof(char *) and sizeof(char) different?
body: <pre><code>#include&lt;stdio.h&gt;
  main()
  {
      char *str[]= {"Frogs","do","not","die","they","croak"};
      printf("%d %d %d",sizeof(str),sizeof(str[0]),sizeof(char));
  }
  </code></pre>
  
  <p>output is:</p>
  
  <blockquote>
    <p>48 8 1</p>
  </blockquote>
  
  <p>According to size of <code>char</code> being <code>1</code> byte and there are six character variables so total size of array should be <code>6</code> instead of <code>48</code>!</p>