私は次の構造を持っています
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
ですか?!