Since C99 (and C++20), it's possible to initialize structs using this syntax:
struct info
{
    char    name[8+1];
    int     sz;
    int     typ;
};
struct info  arr[] =
{
    [0] = { .sz = 20, .name = "abc" },
    [9] = { .sz = -1, .name = "" }
};
What happens to the unspecified fields?
 
     
    