首先,我应该说我的C经验非常少,当我说的很少时,我的意思是大约2个半小时。所以请原谅并纠正任何不准确,愚蠢或其他个人失误。
以下是目前的代码:
typedef struct
{
float n;
int x;
int y;
int values[5];
} Cell;
typedef Cell Grid[10][10];
void update(Grid *source)
{
// This should be a 2D array of Cells.
// All the values in the Cell should be 0,
// including the contents of the values array.
Grid grid;
}
更新将被频繁调用并且在某种程度上对性能至关重要,因此如果需要,我愿意牺牲一些可读性/简单性/编码时间。不,这不是过早的优化。
感谢您的帮助,
萨姆。
答案 0 :(得分:2)
最简单快捷的方法是memset
数组:
memset(grid, 0 sizeof(Cell)*10*10);
实际上grid
的大小在编译时是已知的,所以
memset(grid, 0, sizeof(Grid));
应该足够了。
答案 1 :(得分:1)
这会初始化你的数组。
Grid grid={0};