構造体配列に値を代入する方法は何ですか?

C言語で構造体配列の値を設定する方法はいくつかあります。

  1. 一つずつ値を代入する:ループを使用して、各構造体メンバーに一つずつ値を代入します。
struct Student {
    int id;
    char name[50];
};

int main() {
    struct Student students[3];

    for (int i = 0; i < 3; i++) {
        students[i].id = i + 1;
        sprintf(students[i].name, "Student %d", i + 1);
    }

    return 0;
}
  1. 構造体の配列を定義する際に、配列の初期化リストを使用して一度にすべてのメンバーに値を割り当てる。
struct Student {
    int id;
    char name[50];
};

int main() {
    struct Student students[3] = {
        {1, "Student 1"},
        {2, "Student 2"},
        {3, "Student 3"}
    };

    return 0;
}
  1. memcpy関数を使用して値をコピーする:memcpy関数を使用すると、1つの構造体配列の値を別の構造体配列にコピーすることができます。
#include <string.h>

struct Student {
    int id;
    char name[50];
};

int main() {
    struct Student students1[3] = {
        {1, "Student 1"},
        {2, "Student 2"},
        {3, "Student 3"}
    };

    struct Student students2[3];

    memcpy(students2, students1, sizeof(students1));

    return 0;
}

実際のニーズに応じて適切なコピー方法を選択するいくつかの一般的な方法があります。

bannerAds