構造体配列に値を代入する方法は何ですか?
C言語で構造体配列の値を設定する方法はいくつかあります。
- 一つずつ値を代入する:ループを使用して、各構造体メンバーに一つずつ値を代入します。
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;
}
- 構造体の配列を定義する際に、配列の初期化リストを使用して一度にすべてのメンバーに値を割り当てる。
struct Student {
int id;
char name[50];
};
int main() {
struct Student students[3] = {
{1, "Student 1"},
{2, "Student 2"},
{3, "Student 3"}
};
return 0;
}
- 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;
}
実際のニーズに応じて適切なコピー方法を選択するいくつかの一般的な方法があります。