c语言

c语言结构体数组赋值的方法是什么

小亿
400
2024-01-03 07:01:09
栏目: 编程语言

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函数将一个结构体数组的值复制到另一个结构体数组中。
#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;
}

以上是常见的几种方法,根据实际需求选择合适的赋值方式。

0
看了该问题的人还看了