C言語で構造体を初期化する際の代入方法
構造体を初期化して値を代入するには、C言語では以下の方法があります。
- 構造体のメンバ変数に値を代入するにはドット演算子を利用する。例えば
struct Person {
char name[20];
int age;
};
struct Person p1;
p1.name = "John";
p1.age = 25;
- 中括弧による初期化:初期値を中括弧で囲って,構造体メンバの並び順に順次代入していく.例えば
struct Person {
char name[20];
int age;
};
struct Person p1 = {"John", 25};
- 特定のメンバーだけが初期化される指定メンバー初期化は、花の括弧で初期化に基づいて、特定のメンバー変数だけに値を割り当てて、他のメンバー変数には値を割り当てないよう指定できます。たとえば、
struct Person {
char name[20];
int age;
};
struct Person p1 = {.age = 25};
- typedefで定義された構造体:typedefキーワードを使用して構造体が定義されている場合、構造体名を使用して直接初期化と代入できます。例:
typedef struct {
char name[20];
int age;
} Person;
Person p1 = {"John", 25};
一般用いてられる初期化の方式で、必要に応じた初期化方法を選択して利用できます。