C++中结构体数组的初始化(来自《算法笔记》)

以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 这道题的详细完整代码,参见博客里的其他文章。

猜你喜欢

转载自blog.csdn.net/qq_27538633/article/details/105644558