gpt4 book ai didi

c++ - 在 C++ 中创建堆上的结构数组

转载 作者:行者123 更新时间:2023-11-28 03:37:43 28 4
gpt4 key购买 nike

我需要在堆上声明一个结构数组,然后将数据从堆栈上的并行数组和计算中的数据传输到每个结构中。我声明

struct Grades
{
string studentName;
int scores[4];
double average;
};

....

Grades *art1301 = new Grades;

....

(art1301 + i)->studentName = names[i];

for((int i = 0 ; i < 5 ; i++ )
(art1301 + i)->scores[j] = exams[i][j];

(art1301 + i)->average = average;

我的程序访问第一条记录,但在访问第二条记录的第一个字段后崩溃。我不明白为什么它对第一条记录有效,但在第二条记录的中间就死了?我是否正确访问结构?

谢谢。

最佳答案

要分配一个数组,需要new的数组形式,带方括号:

Grades *art1301 = new Grades[200];
// ^^^^^

数组大小可以是动态确定的数量。

关于c++ - 在 C++ 中创建堆上的结构数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10367966/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com