title: Why in C++ sizeof(array[]) behave in different way for bool array?
body: <p>Why in C++ <code>sizeof(array)</code>  behave in different way for <code>bool array</code> then for arrays containing other types of data ?</p>
  
  <p><strong>Edition :</strong>
  I'm asking because </p>
  
  <p><code>sizeof(boolarray)/sizeof(boolarray[0])</code></p>
  
  <p>don't give size of boolarray.</p>
  
  <p>but this simple code prints :</p>
  
  <pre><code>4
  1
  </code></pre>
  
  <p>////////////////////////////</p>
  
  <pre><code>#include&lt;iostream&gt;
  using namespace std;
  void printBoolArray(bool* boolarray){
      cout&lt;&lt;sizeof(boolarray)&lt;&lt;"\n";
      cout&lt;&lt;sizeof(boolarray[0]);  
  }
  
  
  int main(){
      bool boolarray[10]={false};
      printBoolArray(boolarray);
  }
  </code></pre>
  
  <p>know I understand sizeof in function which gives the size of object which makes reference, this is my 9 day with c++, sorry for stupid question, it's so obvious now</p>