Definitely doesn't make a difference to the size.  The value of using the C99 static initializer syntax is that you get to leave out all of the fields that you're not touching.  You get to see exactly the fields that are non-default. This also allows changes to the struct without affecting code that isn't touching the fields that have changed (or been removed).  Unnecessarily initializing fields takes away from both of those advantages.