C言語で構造体を初期化する際の代入方法

構造体を初期化して値を代入するには、C言語では以下の方法があります。

  1. 構造体のメンバ変数に値を代入するにはドット演算子を利用する。例えば
struct Person {
    char name[20];
    int age;
};

struct Person p1;
p1.name = "John";
p1.age = 25;
  1. 中括弧による初期化:初期値を中括弧で囲って,構造体メンバの並び順に順次代入していく.例えば
struct Person {
    char name[20];
    int age;
};

struct Person p1 = {"John", 25};
  1. 特定のメンバーだけが初期化される指定メンバー初期化は、花の括弧で初期化に基づいて、特定のメンバー変数だけに値を割り当てて、他のメンバー変数には値を割り当てないよう指定できます。たとえば、
struct Person {
    char name[20];
    int age;
};

struct Person p1 = {.age = 25};
  1. typedefで定義された構造体:typedefキーワードを使用して構造体が定義されている場合、構造体名を使用して直接初期化と代入できます。例:
typedef struct {
    char name[20];
    int age;
} Person;

Person p1 = {"John", 25};

一般用いてられる初期化の方式で、必要に応じた初期化方法を選択して利用できます。

bannerAds