以PAT(A)1025 题目举例:
struct every {
int local; // 测试地点
int num; // 注册编号
int score; // 得分
every() {}; // 用以不经初始化定义everystudent[30005]
every(int _local, int _num, int _score) : local(_local), num(_num), score(_score) {};
// 用以提供num和score的初始化
}everystudent[30005];
// 在main函数中再加上这几句即可完成,对结构体数组的初始化
for (int i = 1; i <= n; i++) // 初始化结构体数组
{
int k; // 每个测试地点的测试人数
cin >> k;
for (int j = 1; j <= k; j++)
{
cin >> num >> score;
everystudent[count++] = every(i, num, score);
}
}
这是种动态初始化结构体数组的方法,以这个例子来说明,比较容易。当然,结构体数组的初始化还有其他方法。PAT(A)1025 这道题的详细完整代码,参见博客里的其他文章。