title: what is aggregate initialization
body: <p>The section "Array Initialization" in Chapter 4, page 231 of <em>"Thinking in Java, 2nd Edition"</em> has this to say:  </p>
  
  <blockquote>
    <p>Initializing arrays in C is error-prone and tedious. C++ uses 
    aggregate initialization  to make it much safer. Java has no
    “aggregates” like C++, since everything is an object in Java. It does
    have arrays, and these are supported with array initialization.  </p>
  </blockquote>
  
  <p>Why is it error prone and tedious in C? What does it mean by aggregate initialization and why is it safer? I came across <a href="http://www.mi.uni-koeln.de/c/mirror/www.codeguru.com/cpp/tic/tic_html.zip/tic0077.html" rel="noreferrer">the chapter "Aggregate initialization"</a> in Bruce Eckel's <em>"Thinking in C++"</em> (2nd Ed.), but it doesn't convince me of anything.</p>