C++结构体里面string类型赋值问题
时间: 2023-08-12 07:24:17 浏览: 109
在 C++ 的结构体中使用 string 类型时,可以直接对其进行赋值操作,例如:
```c++
#include <iostream>
#include <string>
using namespace std;
struct Person {
string name;
int age;
};
int main() {
Person p1;
p1.name = "Tom";
p1.age = 20;
cout << "Name: " << p1.name << endl;
cout << "Age: " << p1.age << endl;
return 0;
}
```
在上述代码中,我们定义了一个结构体 Person,其中包含一个 string 类型的成员变量 name 和一个 int 类型的成员变量 age。在 main 函数中,我们创建了一个 Person 类型的对象 p1,并对其成员变量进行赋值操作。对于 string 类型的成员变量 name,我们可以直接使用字符串常量进行赋值。
相关问题
c++ 结构体string如何赋值
C++中的结构体可以使用string类型的成员变量,赋值方式与普通string变量相同。例如,假设我们有以下结构体定义:
```c++
struct Person {
string name;
int age;
};
```
我们可以使用以下方式给其中的name成员变量赋值:
```c++
Person p;
p.name = "John";
p.age = 30;
```
这样就将p的name成员变量赋值为"John",age成员变量赋值为30。
c++ 结构体遍历赋值
可以使用循环来遍历结构体数组,并为每个结构体的成员赋值。以下是一个简单的示例:
```c++
#include <iostream>
struct Person {
std::string name;
int age;
};
int main() {
const int SIZE = 3;
Person people[SIZE];
// 遍历结构体数组
for (int i = 0; i < SIZE; i++) {
std::cout << "Enter name for person " << i+1 << ": ";
std::cin >> people[i].name;
std::cout << "Enter age for person " << i+1 << ": ";
std::cin >> people[i].age;
}
// 打印结构体数组的内容
for (int i = 0; i < SIZE; i++) {
std::cout << "Person " << i+1 << ": " << std::endl;
std::cout << "Name: " << people[i].name << std::endl;
std::cout << "Age: " << people[i].age << std::endl;
std::cout << std::endl;
}
return 0;
}
```
在上面的示例中,我们定义了一个名为 `Person` 的结构体,其中包含了两个成员变量 `name` 和 `age`。然后,我们声明了一个大小为 `SIZE` 的 `Person` 类型的数组 `people`。
接下来,我们使用 `for` 循环遍历结构体数组,并通过 `std::cin` 从用户输入中获取每个人的姓名和年龄,并将其分别赋值给相应的结构体成员。
最后,我们使用另一个 `for` 循环打印出每个结构体的内容,即姓名和年龄。
注意:上述示例假设用户输入的数据是有效的,并未进行错误处理。在实际开发中,可能需要添加适当的错误处理和验证机制。