私は 'The C Programming Language'を読んでおり、のtypedefに関する問題を抱えていました。です。我々はTNODEはまだ、まだ宣言されていませんが、我々はすべてのコンパイルエラーを取得しない、 私たちは、上記のステートメントを変更したときにstruct typedef内の宣言ルール
typedef struct tnode *Treeptr;
を書く時までに
typedef struct tnode *Treeptr;
typedef struct tnode { /* the tree node: */
char *word; /* points to the text */
int count; /* number of occurrences */
struct tnode *left; /* left child */
struct tnode *right; /* right child */
} Treenode;
:コードは次のようです:
error: parse error before '*' token
warning: data definition has no type or storage class
:
typedef Treenode *Treeptr;
私たちは、コンパイル・エラーが発生します
違いは何ですか? "struct tnode"は "Treenode"と同じではありませんか?
[このコードをコンパイルできるのは、C標準のどの部分ですか?](http://stackoverflow.com/questions/12200096/which-part-of-the-c-standard-allows-this-code -to-compile)と[C標準では、このヘッダに1つまたは2つの 'struct uperms_entry'タイプがあると考えますか?](http://stackoverflow.com/questions/11697705/does-the-c-standard-considerそれは関連するものとして、あなたがどこにいるかを超えたレベルで投げられるかもしれません。 –