结构体赋值给字符串数组
时间: 2023-08-30 17:12:59 浏览: 172
字符串赋值
4星 · 用户满意度95%
结构体可以赋值给字符串数组,前提是结构体中的成员是字符数组(或者字符串类型)。
以下是一个示例代码,演示了如何将结构体赋值给字符串数组:
```c
#include <stdio.h>
#include <string.h>
// 定义一个结构体
struct Person {
char name[20];
int age;
};
int main() {
// 创建一个字符串数组
char names[3][20];
// 初始化结构体数组的值
struct Person person1 = {"John", 25};
struct Person person2 = {"Jane", 30};
struct Person person3 = {"Bob", 35};
// 将结构体的name成员赋值给字符串数组
strcpy(names[0], person1.name);
strcpy(names[1], person2.name);
strcpy(names[2], person3.name);
// 打印字符串数组的值
for (int i = 0; i < 3; i++) {
printf("Name %d: %s\n", i + 1, names[i]);
}
return 0;
}
```
在这个示例中,我们定义了一个名为 `Person` 的结构体,包含了一个名为 `name` 的字符数组和一个名为 `age` 的整数。然后,我们创建了一个长度为 3 的字符串数组 `names`。
通过使用 `strcpy` 函数,我们将结构体中的 `name` 成员的值复制到字符串数组相应位置的元素中。
最后,我们使用循环打印了字符串数组的值。输出结果将是:
```
Name 1: John
Name 2: Jane
Name 3: Bob
```
希望这个示例能帮助你理解如何将结构体赋值给字符串数组。如果还有其他问题,请随时提问!
阅读全文