Why a structure is allowed to have “pointer to its own type” as member but not “(an array of the) structure type” itself?
when i try to declare the following function typedef struct TRIE_NODE { char* word; struct TRIE_NODE node[26]; }TRIE_NODE; I get the following error: definition of 'struct TRIE_NODE' is not complete until the closing '}' However, if i declare this function with a pointer to the 26 nodes, it compiles just fine. typedef struct TRIE_NODE { char* word; struct TRIE_NODE* node[26]; }TRIE_NODE; I imagine that, since this is not an instance, it's impossible for me to get a pointer to the first of those 26 arrays, but if that is the problem, how is TRIE_NODE* node[26] not also a problem? Isn't this