如何为 c++ 的不同变量类型的结构元素创建动态数组?
How do you create a dynamic array for struct elements of different variable types for c++?
我有以下结构:
struct student {
char *firstName;
int exam1;
};
代码的其余部分位于主函数中。 我询问用户他们在一个班级中有多少学生,并将其存储在numStudents中:
int numStudents;
cout << "How many students do you have in your class? ";
cin >> numStudents;
现在,我必须创建一个动态数组来存储numStudents的名称,并要求用户输入之前输入的学生人数的名称和考试成绩。这是我到目前为止的代码。辛作品。但是当我尝试输出时,系统只是退出。
student *ptr = new student[numStudents];
cout << "Enter name, exam1 for each student: ";
for(i = 0; i < numStudents; i++)
{
cin >> ptr[i].name;
cin >> ptr[i].exam1;
}
for(i = 0; i < numStudents; i++)
{
cout << ptr[i].name;
cout << ptr[i].exam1;
}
ptr 是数组而不是 ptr.name ... 您实际上正在做的是将数组中第一项的属性视为数组,但事实并非如此。 您应该将其更改为:
student *ptr = new student[numStudents];
cout << "Enter name, exam1 for each student: ";
for(i = 0; i < numStudents; i++)
{
cin >> ptr[i]->name;
cin >> ptr[i]->exam1;
}
您还可以在此答案中阅读有关此错误消息的更多信息
相关文章:
- 创建结构的数组时遇到分段错误
- 如何在 c++ 中创建结构向量的映射
- 为什么我们再次从结构对象创建结构变量?
- 如何在C++中为堆栈动态创建结构?
- 如何创建结构的结构结构,等等嵌套多个结构?
- 创建结构作为枚举类成员
- 第一次尝试使用new动态创建结构数组,程序挂起没有错误
- 创建结构体向量,表达式:向量下标超出范围
- variadic宏来创建结构
- C++类中创建结构的向量
- 如何动态创建 C++ 结构
- 如何在C++循环中创建结构成员
- 如何读取文件中的数据并创建结构向量
- C++从 DLL 创建结构
- 动态数组添加元素而不创建结构变量/对象
- 创建结构并传递IT功能
- c ++ 当我创建结构数组时,如何使用结构数组内的类的参数调用构造函数
- 尝试创建结构对象,在位置0x3FE00000中创建访问冲突写入错误
- 如何创建结构类型数组的地图对象
- 在C 中创建结构数组