1. ホーム
  2. c

[解決済み] 自己言及的な構造体定義?

2022-05-08 07:42:07

質問

私はC言語をあまり長く書いていないので、この種の再帰的なことをどのように行うべきかよくわかりません...。各セルが別のセルを含むようにしたいのですが、"field 'child' has incomplete type"という行のエラーが表示されます。どうしたんですか?

typedef struct Cell {
  int isParent;
  Cell child;
} Cell;

解決方法は?

明らかに Cell を含むことはできません。 Cell というのは、終わりのない再帰になってしまうからです。

しかし Cell へのポインタを含むことができます。 Cell .

typedef struct Cell {
  bool isParent;
  struct Cell* child;
} Cell;