我有一个这种类型的结构:
#define SUDOKU_SIZE 9
typedef struct {
int grid[SUDOKU_SIZE][SUDOKU_SIZE];
} sudoku_t;
但是当我想创建一个时:struct sudoku_t sudo;
我收到此错误:错误:“s”的存储大小未知
谢谢
最佳答案
通过使用typedef
,您可以创建一个新类型;您可以简单地通过名称 sudoku_t
(而不是 struct sudoku_t
)引用它。因此,不要写 struct sudoku_t s;
sudoku_t s;
如果出于某种原因您确实想要创建一个命名结构,请删除 typedef:
struct sudoku_t {
int grid[SUDOKU_SIZE][SUDOKU_SIZE];
};
int main() {
struct sudoku_t s;
}
关于创建一个空结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37230006/