那么我为什么要做这个"人[城市] [年] = 1000 ;"事?
int People[2059][100];
for (int city = 0; city < 2059; city++)
for (int years = 0; years < 100; years++)
People[city][years] = 1000;
答案 0 :(得分:1)
你不必。但是People
数组将包含不确定的值,并且读取它们会产生具有未定义行为的程序(我假设它是具有自动存储持续时间的变量)。这不是一个过于有用的程序。
如果数组具有静态存储持续时间,则它将被零初始化。如果你对此没问题,你就不必循环并立即分配值。
答案 1 :(得分:1)
这一行:
People[city][years] = 1000;
将2D数组中的值初始化为堆栈上的1000
。如果你没有初始化数组中的数字,它们可以是任何东西。
相反,您可以将People
中的数字初始化为0
:
int People[2059][100] = {{0}}; /* or 1000, if you prefer that */
使用它可以节省您必须遍历数组并将每个值分配给0
。如果您决定插入其他数字,则不需要初始化数组。