我用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]的访问方法是正确的,但是,nextBoardboard作为指针类型变量,在使用之前需要为它们分配内存。
也许您可以查看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/

10-11 23:15