我用Java编写了Conway生活游戏的代码,现在我正试图将其转换为C语言。代码非常直截了当,但是我在创建适当的struct
时遇到了困难。
在Java中,如果我有instance variables
:
private boolean[][] board;
private boolean[][] nextBoard;
它是否等同于以下代码?
struct generation
{
char **board;
char **nextBoard;
}generation;
如何从其他方法访问这些变量?我想会是这样,但我不确定:
struct generation data;
.....
data.nextBoard[r][c]
最佳答案
是的,data.nextBoard[r][c]
的访问方法是正确的,但是,nextBoard
和board
作为指针类型变量,在使用之前需要为它们分配内存。
也许您可以查看malloc()
和函数族来完成内存分配。
编辑:如果不希望动态内存分配,请考虑将结构定义更改为
#define SIZ 64 //some arbitrary value
struct generation
{
char board[SIZ][SIZ];
char nextBoard[SIZ][SIZ];
};
您可以通过上述方式直接从索引
0
访问63
。关于c - 从Conway的生活中访问结构变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31074667/