I got the impression it was a GCC extension because it&#x27;s listed in the &quot;C Extensions&quot; of the GCC documentation ( <a href="https:&#x2F;&#x2F;gcc.gnu.org&#x2F;onlinedocs&#x2F;gcc&#x2F;Zero-Length.html" rel="nofollow">https:&#x2F;&#x2F;gcc.gnu.org&#x2F;onlinedocs&#x2F;gcc&#x2F;Zero-Length.html</a> ).<p>EDIT: the FAQ actually refers to arrays of one element where GCC makes a big deal about saving memory by accepting zero-length arrays.  But you are correct that this kind of cleverness wasn&#x27;t limited to GCC ( <a href="https:&#x2F;&#x2F;blogs.msdn.microsoft.com&#x2F;oldnewthing&#x2F;20031212-00&#x2F;?p=41523" rel="nofollow">https:&#x2F;&#x2F;blogs.msdn.microsoft.com&#x2F;oldnewthing&#x2F;20031212-00&#x2F;?p=...</a> , <a href="https:&#x2F;&#x2F;blogs.msdn.microsoft.com&#x2F;oldnewthing&#x2F;20040826-00&#x2F;?p=38043" rel="nofollow">https:&#x2F;&#x2F;blogs.msdn.microsoft.com&#x2F;oldnewthing&#x2F;20040826-00&#x2F;?p=...</a> ).