title: Which object declarations in C cause storage to be reserved (i.e. are definitions)?
body: <p>C11 specifies in section 6.7 which declarations are also definitions:</p>
  
  <blockquote>
    <p>A definition of an identifier is a declaration for that identifier that:<br>
    — for an object, causes storage to be reserved for that object;<br>
    [...]</p>
  </blockquote>
  
  <p>I didn't find a comprehensive list of which object declarations cause storage to be reserved.  Intuitively it is clear to me, but I wasn't able to get this information out of the C11 standard.</p>