Как инициализировать структуру с гибким членом массива

У меня следующая структура

typedef struct _person {
    int age;
    char sex;
    char name[];
}person;

Я выполнил базовый поиск в Интернете (но безуспешно) о том, как создать экземпляр и инициализировать структуру с помощью элемента гибкого массива, не используяmalloc().

Например: для нормальных структур, таких как

struct a {
    int age; 
    int sex;
};

Мы можем создать экземплярstruct a и инициализировать его как

struct a p1 = {10, 'm'};

Но для структур с гибким массивом в нем (как_person как уже упоминалось выше) как мы можем создать экземпляр и инициализировать, как мы делаем это для нормальногоstructures?

Это вообще возможно? Если так, как мы передаем размер массива во время инициализации и фактическое значение, которое будет инициализировано?

(или же)

Правда ли, что единственный способ создать структуру с гибким массивом - этоmalloc() как указано в спецификации C99 -6.7.2.1 Structure and union specifiers - point #17?!

Ответы на вопрос(3)

Ваш ответ на вопрос