F5后出现出现窗口
输出列表:
0x00007FF6E7506438 处(位于 Struct.exe 中)引发的异常: 0xC0000005: 读取位置 0xFFFFFFFFFFFFFFFF 时发生访问冲突。
引发了未经处理的异常:读取访问权限冲突。
_Pnext 是 0xF(还有15个F)。
书写的代码:
#include<iostream>
#include<string>
using namespace std;
//案例:每名老师带5个学生,一共3名老师:
//老师结构体中:老师姓名和一个存放5个学生的数组
//学生结构体中:学生姓名和学生分数
//学生结构体
struct student
{
string sname;
int score;
};
//老师结构体;
struct teacher
{
string tname;
struct student sarr[5];
};
void allocateSpace(struct teacher tarr[], int len)
{
string nameSeed = "ABCDE";
//给老师赋值;
for (int i = 0; i < len; i++)
{
tarr[i].tname = "Teacher_";
tarr[i].tname += nameSeed[i];
//通过循环给每名老师所带的学生赋值
for (int j = 0; j < 5; j++)
{
tarr[i].sarr[j].sname = "Student_";
tarr[i].sarr[j].sname += nameSeed[i];
int random = rand() % 61 + 40;
tarr[i].sarr[j].score = random;
}
}
}
//打印所有信息的函数
void printInfo(struct teacher tarr[], int len)
{
for (int i = 0; i < len; i++)
{
cout << "老师的姓名:" << tarr[i].tname << endl;
for (int j = 0; j < 5; j++)
{
cout << "\t学生的姓名:" << tarr[i].sarr[j].sname << " "
<< "学生的分数:" << tarr[i].sarr[j].score << endl;
}
}
}
int main()
{
//创建三名老师的数组
struct teacher tarr[3];
//通过函数给三名老师的信息赋值,并给老师带的学生信息赋值;
int len = sizeof(tarr) / sizeof(tarr[0]);
allocateSpace(tarr, len);
//打印所有老师及所带学生信息
printInfo(tarr, len);
system("pause");
return 0;
}