阅读量:0
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函数将一个结构体数组的值复制到另一个结构体数组中。
#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; }
以上是常见的几种方法,根据实际需求选择合适的赋值方式。